當前位置:生活全書館 >

IT科技

> sha256加密 java

sha256加密 java

<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加密演算法是屬於非對稱加密,是不可以逆轉的。

java 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();}

標籤: java 加密 sha256
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/0gzyyr.html