SHA-256加密算法JAVA
时间: 2023-12-01 20:41:35 浏览: 168
以下是使用Java原生摘要实现SHA-256加密算法的示例代码:
```java
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Util {
public static String encrypt(String input) throws NoSuchAlgorithmException {
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder hexString = new StringBuilder();
for (byte b : hash) {
String hex = Integer.toHexString(0xff & b); if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
}
}
```
以上代码中,我们使用了Java原生的MessageDigest类来实现SHA-256加密算法。具体实现步骤如下:
1. 首先,我们通过getInstance方法获取MessageDigest实例,并传入"SHA-256"参数,表示我们要使用SHA-256算法进行加密。
2. 然后,我们调用digest方法,传入要加密的字符串的字节数组,得到加密后的字节数组。
3. 接着,我们将加密后的字节数组转换成十六进制字符串,得到最终的加密结果。
你还可以通过调用SHA256Util.encrypt方法来对任意字符串进行SHA-256加密,例如:
```java
String input = "Hello, world!";
String encrypted = SHA256Util.encrypt(input);
System.out.println(encrypted); // 输出:b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
```
阅读全文