SHA256算法的java实现代码
时间: 2023-12-15 14:33:19 浏览: 87
下面是利用Apache的工具类实现SHA-256加密的Java代码:
```java
import org.apache.commons.codec.binary.Hex;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Util {
/**
* 利用Apache的工具类实现SHA-256加密
*
* @param str 加密后的报文
* @return
*/
public static String getSHA256Str(String str) {
MessageDigest messageDigest;
String encdeStr = "";
try {
messageDigest = MessageDigest.getInstance("SHA-256");
byte[] hash = messageDigest.digest(str.getBytes("UTF-8"));
encdeStr = Hex.encodeHexString(hash);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return encdeStr;
}
}
```
其中,利用了Apache的工具类`Hex`来将字节数组转换为十六进制字符串。在`getSHA256Str`方法中,首先获取`SHA-256`算法的`MessageDigest`实例,然后将待加密的字符串转换为字节数组,通过`digest`方法计算出摘要信息,最后将摘要信息转换为十六进制字符串并返回。
阅读全文