SHA512算法 java实现
时间: 2023-10-22 19:20:10 浏览: 139
SHA-512是一种哈希算法,可以将任意长度的消息转换为固定长度的哈希值。以下是SHA-512算法的Java实现:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA512Example {
public static void main(String[] args) {
String input = "Hello World";
try {
MessageDigest md = MessageDigest.getInstance("SHA-512");
byte[] hash = md.digest(input.getBytes("UTF-8"));
StringBuffer hexString = new StringBuffer();
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);
}
System.out.println("Input: " + input);
System.out.println("SHA-512 Hash: " + hexString.toString());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们使用`MessageDigest`类来获取SHA-512哈希算法的实例。我们使用`digest()`方法将输入字符串转换为哈希值,然后使用`StringBuffer`类将哈希值转换为十六进制格式。最后,我们打印出输入字符串和SHA-512哈希值。
阅读全文