java sha256加密解密
时间: 2023-09-09 22:10:17 浏览: 126
Java 中可以使用 MessageDigest 类来实现 SHA-256 加密和解密。
加密:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
public class SHA256 {
public static void main(String[] args) throws NoSuchAlgorithmException {
String input = "hello world";
MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
byte[] hash = sha256.digest(input.getBytes());
System.out.println(Arrays.toString(hash));
}
}
```
解密:
SHA-256 是不可逆加密算法,无法直接解密。但是可以通过尝试不同的输入,计算其 SHA-256 值,找到与目标值相同的输入来进行“解密”。
相关问题
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等对称或非对称加密算法。
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。注意,加密算法需要密钥来进行加密和解密。
阅读全文