返回顶部

Java加密与安全-BouncyCastle

[复制链接]
Java王子Lv.1 显示全部楼层 发表于 2022-7-19 18:12:13 |阅读模式 打印 上一主题 下一主题
  我们知道,Java标准库提供了一系列常用的哈希算法。

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

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

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

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

  我们来看一下如何使用BouncyCastle这个第三方提供的算法。

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

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

 
[Java] 纯文本查看 复制代码
 publicclassMain{

  publicstaticvoidmain(String[]args)throwsException{

  //注册BouncyCastle:

  Security.addProvider(newBouncyCastleProvider());

  //按名称正常调用:

  MessageDigestmd=MessageDigest.getInstance("RipeMD160");

  md.update("HelloWorld".getBytes("UTF-8"));

  byte[]result=md.digest();

  System.out.println(newBigInteger(1,result).toString(16));

  }

  }


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

  Security.addProvider(newBouncyCastleProvider());

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • 微信公众号

  • Powered by Discuz! X3.4 | Copyright © 2002-2021, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图 | 京公网安备 11010802029508号