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