BouncyCastle是一个第三方开源库,提供了许多哈希算法和加密算法。它提供了Java标准库中没有的一些算法,例如RipeMD160哈希算法。
使用
添加相应的jar包
https://nowjava.com/jar/detail/m04026544/bcprov-jdk15on-1.65.jar.html
注册BouncyCastle即可使用,后期在引入自己的开源库时,也可以注册BouncyCastle然后使用,以RipeMD160哈希算法为例:
//使用第三方开源库提供的RipeMD160消息摘要算法实现
public class Demo1 {
public static void main(String[] args) throws NoSuchAlgorithmException {
//注册BouncyCastle BiouncyCastleProvider通知类
//将提供的消息摘要算法注册至Security
Security.addProvider(new BouncyCastleProvider());
//获取RipeMD160算法的"信息摘要对象"(加密对象)
MessageDigest ripeMd160 = MessageDigest.getInstance("RipeMD160");
//更新原始数据
ripeMd160.update("wbjxxmy".getBytes());
//获取加密摘要
byte[] digestRet = ripeMd160.digest();
System.out.println("加密后的结果"+Arrays.toString(digestRet));
System.out.println("加密后的长度"+digestRet.length);
System.out.println("加密后的结果(16进制字符串)"+HashTools.bytesToHex(digestRet));
}
}