java sha256加密解密
时间: 2023-08-01 09:06:44 浏览: 126
Java 中可以使用 MessageDigest 类来实现 SHA-256 的加密和解密。
以下是一个示例代码:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Demo {
public static void main(String[] args) throws NoSuchAlgorithmException {
String str = "Hello World";
String encrypted = encrypt(str);
System.out.println("Encrypted String: " + encrypted);
String decrypted = decrypt(encrypted);
System.out.println("Decrypted String: " + decrypted);
}
public static String encrypt(String str) throws NoSuchAlgorithmException {
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(str.getBytes());
byte[] digest = md.digest();
return bytesToHex(digest);
}
public static String decrypt(String encrypted) {
// SHA-256 是单向加密,不支持解密
return null;
}
private static String bytesToHex(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
String hex = Integer.toHexString(0xff & b);
if (hex.length() == 1) sb.append('0');
sb.append(hex);
}
return sb.toString();
}
}
```
注:SHA-256 是单向加密,不支持解密。以上示例中的 decrypt 方法返回 null,仅为演示用途。
阅读全文