📜  Java中的 SHA-384 哈希(1)

📅  最后修改于: 2023-12-03 15:01:56.737000             🧑  作者: Mango

Java中的 SHA-384 哈希

介绍

在计算机科学中,哈希(Hash)是将任意长度的消息(明文)压缩到某一固定长度的消息摘要(密文)的函数。SHA-384是一种哈希算法,它可以将消息压缩为384位(48字节)的消息摘要。SHA-384是SHA-2哈希算法系列的一部分,该系列包括SHA-224、SHA-256、SHA-384和SHA-512四种算法。

在Java中,我们可以使用 java.security.MessageDigest 类来计算SHA-384哈希值。下面是一个简单的示例:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

public class SHA384Example {
    public static void main(String[] args) {
        String message = "The quick brown fox jumps over the lazy dog";

        try {
            MessageDigest digest = MessageDigest.getInstance("SHA-384");
            byte[] hash = digest.digest(message.getBytes());

            System.out.println("Message: " + message);
            System.out.println("SHA-384 Hash: " + Arrays.toString(hash));
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
    }
}

该示例使用SHA-384算法计算消息 "The quick brown fox jumps over the lazy dog" 的哈希值,并将结果显示在控制台上。

代码解释
  1. 首先,我们导入了java.security.MessageDigest类和java.util.Arrays类。
  2. 在main方法中,我们定义了一个字符串变量message,它包含了我们要计算哈希值的消息。
  3. 然后,我们使用MessageDigest.getInstance()方法获取一个SHA-384算法的实例。
  4. 接着,我们使用该实例的digest()方法计算消息的哈希值,并将结果保存在一个byte数组中。
  5. 最后,我们将消息和哈希值打印出来。
结论

SHA-384算法可以对消息进行可靠的哈希计算,不管消息的长度是多少,最终的哈希值都是固定长度的。在Java中,我们可以使用MessageDigest类轻松地计算SHA-384哈希值。