IT科技

當前位置 /首頁/IT科技 > /列表

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

TAG標籤:sha256 加密 java #