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

📅  最后修改于: 2023-12-03 14:42:51.648000             🧑  作者: Mango

Java中的SHA-224哈希

SHA-224是SHA(Secure Hash Algorithm)哈希函数家族的一部分。它是一种密码散列函数,将任意长度的二进制值(消息)映射为一个固定长度的二进制值。SHA-224的输出长度为224位(28字节),提供了很高的安全性。

在Java中,使用MessageDigest类中的SHA-224算法实现SHA-224哈希。以下是一个简单的示例:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class SHA224HashExample {

    public static void main(String[] args) throws NoSuchAlgorithmException {
        String message = "hello world";
        
        // Create MessageDigest object for SHA-224
        MessageDigest md = MessageDigest.getInstance("SHA-224");

        // Update the message in the digest
        md.update(message.getBytes());

        // Generate the hash
        byte[] digest = md.digest();

        // Convert the digest to a hexadecimal string
        StringBuilder sb = new StringBuilder();
        for (byte b : digest) {
            sb.append(String.format("%02x", b));
        }
        String hash = sb.toString();

        System.out.println("Message: " + message);
        System.out.println("SHA-224 Hash: " + hash);
    }
}

在此示例中,我们使用SHA-224算法创建了一个MessageDigest对象。然后使用update()方法将消息添加到摘要中,最后使用digest()方法生成哈希值。为了将哈希值转换为十六进制表示法的字符串,我们使用String.format()方法以16进制格式将每个字节转换为字符串,并使用StringBuilder将它们拼接起来。

在我们运行此示例后,输出将是:

Message: hello world
SHA-224 Hash: d1d9b8c2bd702383004b7c02646b436e55d69a86afcf0370734ed284

SHA-224哈希是非常安全的,并且在许多安全协议中使用。在Java中,您可以轻松地使用SHA-224算法来为您的数据提供额外的安全保障。