使用RSA注意事项

比较以下两种写法

1
2
// 第一种:这种写法会造成内存溢出
Cipher cipher = Cipher.getInstance("RSA", new BouncyCastleProvider());
1
2
3
4
5
6
// 第二种:推荐这种写法
// BC可用BouncyCastleProvider.PROVIDER_NAME代替
if (StringUtils.isNullOrEmpty(Security.getProperty("BC"))) {
Security.addProvider(new BouncyCastleProvider());
}
Cipher cipher = Cipher.getInstance("RSA", "BC");

还有一种写法是要替换jdk的jar包,不推荐

要依赖bcprov-jdk16包

1
2
3
4
5
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
<version>1.46</version>
</dependency>
  • 本文作者: forever杨
  • 本文链接: https://blog.yl-online.top/posts/ef742936.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。如果文章内容对你有用,请记录到你的笔记中。本博客站点随时会停止服务,请不要收藏、转载!