sha256加密 java
- IT科技
- 關注:1.08W次
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
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<bytes.length;i++){ temp = Integer.toHexString(bytes[i] & 0xFF); if (temp.length()==1){ //1得到一位的進行補0操作 stringBuffer.append("0"); } stringBuffer.append(temp); } return stringBuffer.toString();}
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/0gzyyr.html