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以上就是小编今天的分享了,希望可以帮助到大家。