Java MessageDigest 類用于處理字符串的加密和哈希計算。以下是一個簡單的示例,說明如何使用 MessageDigest 類處理字符串:
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
public static String generateHash(String input) {
try {
// 創建一個 MessageDigest 實例,指定算法(例如 SHA-256)
MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
// 將字符串轉換為字節數組,使用指定的字符集(例如 UTF-8)
byte[] inputBytes = input.getBytes(StandardCharsets.UTF_8);
// 使用 MessageDigest 實例對字節數組進行哈希計算
byte[] hashBytes = messageDigest.digest(inputBytes);
// 將哈希值轉換為 Base64 編碼的字符串
return Base64.getEncoder().encodeToString(hashBytes);
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Error generating hash", e);
}
}
public static void main(String[] args) {
String input = "Hello, World!";
String hashValue = generateHash(input);
System.out.println("Hash value of \"" + input + "\" is: " + hashValue);
}
在這個示例中,我們使用了 SHA-256 算法對字符串 “Hello, World!” 進行哈希計算,并將結果轉換為 Base64 編碼的字符串。你可以根據需要更改算法,例如使用 SHA-1、MD5 等。