java sha256加密解密
时间: 2023-09-07 22:14:38 浏览: 93
Java中可以使用Java.security.MessageDigest类来实现SHA-256加密和解密。下面是一个示例代码:
```java
import java.security.MessageDigest;
public class SHA256Example {
public static void main(String[] args) throws Exception {
String text = "Hello, world!";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(text.getBytes("UTF-8"));
// 将byte数组转换成16进制字符串
StringBuilder hexString = new StringBuilder();
for (byte b : hash) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
System.out.println("原始字符串: " + text);
System.out.println("SHA-256加密后: " + hexString.toString());
}
}
```
上述代码中,我们首先创建一个MessageDigest对象,指定加密算法为SHA-256。然后,使用`digest()`方法对字符串进行加密,得到一个byte数组。
最后,我们将byte数组转换成16进制字符串,得到SHA-256加密后的结果。
要注意的是,SHA-256算法是不可逆的,也就是说不能通过加密后的结果来还原出原始字符串。如果需要加密后能解密的算法,可以考虑使用对称加密算法,例如AES。