编写一个SHA256Utils
时间: 2024-05-06 20:16:09 浏览: 117
SHA256Util.java
SHA256Utils是一个用于计算SHA256哈希值的实用程序类,可以在Java中使用。
以下是一个示例实现:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Utils {
public static String hash(String input) {
try {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes("UTF-8"));
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < hash.length; i++) {
String hex = Integer.toHexString(0xff & hash[i]);
if (hex.length() == 1)
hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
}
```
该类包含一个静态方法`hash`,该方法接受一个字符串输入并返回该输入的SHA256哈希值。它使用Java的`MessageDigest`类来计算哈希值,并将结果转换为十六进制字符串。
要使用该类,只需在代码中调用`SHA256Utils.hash(input)`方法即可。例如:
```java
String input = "Hello, world!";
String hash = SHA256Utils.hash(input);
System.out.println(hash); // 输出:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
```
请注意,该实现中使用了Java的`RuntimeException`,因此在实际应用中,您可能需要使用更严格的异常处理。
阅读全文