java sha256加密是什么?让我们一起来了解一下吧!
java sha256加密是java程序中的一种加密算法。Sha256是属于sha-2类目下面的一种算法。Sha256加密算法是属于非对称加密,是不可以逆转的。
SHA256算法的作用如下:
1.映射作用。将用户明文密码 加密后得到hash,将其保存到数据库,防止通过数据库查看明文密码
2防止恶意篡改作用。对文件或者字符串进行加密,得到hash,如果文件或者字符串被篡改,则hash就不会和上次得到得hash相同了。
3.不管什么通过SHA256算法得到的结果都是128的字符串。
java可以通过以下两种方式实现java sha256加密:
1.使用apache工具类进行加密的代码:
/***
* 利用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;
}2.使用java本身具有的进行加密:
/**
* 利用java原生的摘要实现SHA256加密
* @param str 加密后的报文
* @return
*/
public static String getSHA256StrJava(String str){
MessageDigest messageDigest;
String encodeStr = "";
try {
messageDigest = MessageDigest.getInstance("SHA-256");
messageDigest.update(str.getBytes("UTF-8"));
encodeStr = byte2Hex(messageDigest.digest());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return encodeStr;
}
/**
* 将byte转为16进制
* @param bytes
* @return
*/
private static String byte2Hex(byte[] bytes){
StringBuffer stringBuffer = new StringBuffer();
String temp = null;
for (int i=0;i以上就是小编今天的分享了,希望可以帮助到大家。