BouncyCastle

    但如果我们要用的某种算法,Java标准库没有提供怎么办?

    方法一:自己写一个,难度很大;

    方法二:找一个现成的第三方库,直接使用。

    就是一个提供了很多哈希算法和加密算法的第三方库。它提供了Java标准库没有的一些算法,例如,RipeMD160哈希算法。

    首先,我们必须把BouncyCastle提供的jar包放到classpath中。这个jar包就是,可以从官方网站下载。

    Java标准库的包提供了一种标准机制,允许第三方提供商无缝接入。我们要使用BouncyCastle提供的RipeMD160算法,需要先把BouncyCastle注册一下:

    其中,注册BouncyCastle是通过下面的语句实现的:

      注册只需要在启动时进行一次,后续就可以使用BouncyCastle提供的所有哈希算法和加密算法。

      BouncyCastle是一个开源的第三方算法提供商;

      BouncyCastle提供了很多Java标准库没有提供的哈希算法和加密算法;

      使用第三方算法前需要通过注册。

      BouncyCastle - 图1