BouncyCastle
Bouncycstle 是一款开源的密码包,其包含了大量的密码算法,其支持椭圆曲线密码算法。
首先,我们必须把BouncyCastle提供的jar包放到classpath中。这个jar包就是bcprov-jdk15on-xxx.jar
,可以从官方网站下载。
Java标准库的java.security
包提供了一种标准机制,允许第三方提供商无缝接入。我们要使用BouncyCastle提供的RipeMD160算法,需要先把BouncyCastle注册一下:
public class TestDemo { public static void main(String[] args) throws Exception { // 注册BouncyCastle: Security.addProvider(new BouncyCastleProvider()); // 按名称正常调用: MessageDigest md = MessageDigest.getInstance("RipeMD160"); md.update("HelloWorld".getBytes("UTF-8")); byte[] result = md.digest(); System.out.println(new BigInteger(1, result).toString(16)); } }
总结:
BouncyCastle是一个开源的第三方算法提供商;
BouncyCastle提供了很多Java标准库没有提供的哈希算法和加密算法;
使用第三方算法前需要通过Security.addProvider()
注册。
MC❤涛