SHA-256 和SHA-512 加密演算法
阿新 • • 發佈:2019-02-02
本文章轉載自 : 傳送門,盜碼可恥,我們是程式碼的搬運工,只搬運,不盜碼
package cc.restyle.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* SHA-512 加密
*
*/
public class SHA512 {
/** 傳入文字內容,返回SHA-256 串*/
public static String encry256(final String strText){
return SHA(strText,"SHA-256" );
}
/** 傳入文字內容,返回SHA-512 串*/
public static String encry512(final String strText){
return SHA(strText,"SHA-512");
}
/** 字串 SHA加密*/
private static String SHA(final String strText,final String strType){
// 返回值
String strResult=null;
// 是否是有效的字串
if (strText != null && strText.length()>0){
// 加密開始,建立加密物件,並傳入加密型別
try {
MessageDigest messageDigest = MessageDigest.getInstance(strType);
// 傳入加密的字串
messageDigest.update(strText.getBytes());
// 得到bytes型別結果
byte [] byteBuffer = messageDigest.digest();
//將byte轉為string
StringBuffer strHexString = new StringBuffer();
for (int i =0;i<byteBuffer.length;i++){
String hex = Integer.toHexString(0xff & byteBuffer[i]);
if (hex.length()==1){
strHexString.append('0');
}
strHexString.append(hex);
}
// 得到返回的結果
strResult = strHexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
return strResult;
}
}