基于java类库的哈希算法实现

时间:2022-10-03 11:21:01

核心代码,调用java类库实现的部分

MessageDigest messageDigest = MessageDigest.getInstance(KEY_SHA); //确定计算方法
messageDigest.update(inputData);
sha = new BigInteger(messageDigest.digest()); //生成散列码

完整代码

package SHA;

import java.math.BigInteger;
import java.security.MessageDigest;

/*
SHA(Secure Hash Algorithm,安全散列算法),数字签名等密码学应用中重要的工具,
被广泛地应用于电子商务等信息安全领域。虽然,SHA与MD5通过碰撞法都被破解了,
但是SHA仍然是公认的安全加密算法,较之MD5更为安全
*/

public class SHA {

public static final String KEY_SHA = "SHA";

public static String getResult(String inputStr){

BigInteger sha =null;
System.out.println("原始数据:"+inputStr);
byte[] inputData = inputStr.getBytes();
try{
MessageDigest messageDigest = MessageDigest.getInstance(KEY_SHA); //确定计算方法
messageDigest.update(inputData);
sha = new BigInteger(messageDigest.digest()); //生成散列码
System.out.println("SHA值:" + sha.toString(32));
} catch (Exception e) {
e.printStackTrace();
}
return sha.toString(32);

}

public static void main(String args[]){

try {
String inputStr = "cryptology";
getResult(inputStr);
} catch (Exception e){
e.printStackTrace();
}

}

}