java sha256加密解密
时间: 2023-09-07 14:14:49 浏览: 135
Java中提供了SHA-256算法加密和解密。
加密:
```java
import java.security.MessageDigest;
public class SHA256Util {
//将输入字符串转换为SHA-256编码的字符串
public static String sha256(String input) throws Exception {
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] bytes = sha256.digest(input.getBytes("UTF-8"));
StringBuilder stringBuilder = new StringBuilder();
for (byte b : bytes) {
stringBuilder.append(String.format("%02x", b));
}
return stringBuilder.toString();
}
}
```
解密:
SHA-256是一种单向散列算法,不支持解密。只能对明文进行加密,得到密文。但可以通过比对密文和其他已知的明文来验证密文的正确性。
相关问题
sha256加密解密 java
SHA-256是一种哈希算法,不是加密算法,它不可逆。下面是Java中使用SHA-256实现哈希的示例代码:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Example {
public static void main(String[] args) throws NoSuchAlgorithmException {
String text = "Hello World";
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(text.getBytes());
byte[] digest = md.digest();
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append(String.format("%02x", b));
}
System.out.println("SHA-256 Hash: " + sb.toString());
}
}
```
在上面的示例中,我们使用`MessageDigest`类来获取SHA-256哈希算法的实例。然后,我们使用`update()`方法来传递要哈希的文本,并使用`digest()`方法获取哈希值。最后,我们将哈希值转换为十六进制字符串并打印出来。
如果您需要加密算法,请使用其他算法,例如AES或DES。注意,加密算法需要密钥来进行加密和解密。
sha256加密解密Java
SHA-256是一种哈希算法,不是加密算法,所以不能进行解密。它将任意长度的消息输入并输出一个256位的哈希值,但哈希值不能被还原回原始消息。
在Java中,可以使用java.security.MessageDigest类来计算SHA-256哈希值,示例代码如下:
```
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Example {
public static void main(String[] args) throws NoSuchAlgorithmException {
String message = "hello world";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(message.getBytes());
String hexHash = bytesToHex(hash);
System.out.println(hexHash);
}
private static String bytesToHex(byte[] bytes) {
StringBuilder hex = new StringBuilder();
for (byte b : bytes) {
hex.append(String.format("%02x", b));
}
return hex.toString();
}
}
```
该代码会输出消息"hello world"的SHA-256哈希值。如果需要使用加密算法进行加密和解密,可以考虑使用AES或RSA等对称或非对称加密算法。
阅读全文