【问题标题】:RSA algorithm library for Java [closed]Java的RSA算法库[关闭]
【发布时间】:2010-01-08 12:45:58
【问题描述】:

我想为我的应用程序提供基于 RSA 算法的简单许可机制。

有免费的 RSA 库吗?

【问题讨论】:

    标签: java open-source rsa


    【解决方案1】:

    只需使用javax.cryptojava.security 包。它在 Java 标准平台中。

    KeyPair keys = KeyPairGenerator.getInstance("RSA").generateKeyPair();
    Cipher cipher = Cipher.getInstance("RSA");
    cipher.init(Cipher.ENCRYPT_MODE, keys.getPublic());
    byte[] encrypted = cipher.doFinal(rawData);
    

    官方文档链接:

    【讨论】:

      【解决方案2】:

      是的,请查看BouncyCastle

      【讨论】:

      • 为什么要使用 BouncyCastle 而不是标准 API 中的加密功能?
      • jarnbjo:不确定,但我只是在回答这个问题。但是,我确实赞成 kdgregory,因为我确实认为这可能是最好的方法。尽管 IIRC(我可能没有)曾经在常规 Java 下载中没有内置加密。
      • @silky - iirc 它出现在 1.4 左右;我最近才开始使用它......顺便说一句,你太快给我投票了(但谢谢):我复制了我的一个学习示例,并在其中包含了我自己的方法:-)
      • silky:JCE(Java 密码学扩展)可作为 Java 1.2 和 1.3 的单独下载获得,并且自 1.4 以来一直是标准 API 的一部分,因此它已经存在了大约 10 年。 BouncyCastle 可以很好地用作默认 VM 安全提供程序不支持的算法的附加 JCE 提供程序,但对于 RSA 等常见算法,无需添加对第三方库的依赖。
      【解决方案3】:

      如果出于某种原因您不想使用平台内置的内容,那么Keyczar 通常是满足任何其他类型的加密需求的最推荐/最佳解决方案。

      【讨论】:

      • IMO Bouncycastle 更为人所知,更加完整和成熟,并且更频繁地被推荐。
      • 这并不一定意味着它更好@JamesKPolk
      【解决方案4】:

      我最近使用了开源框架 Jasypt http://www.jasypt.org/index.html。这个框架也可以很好地与 Spring 和 Hibernate 一起工作

      【讨论】:

        猜你喜欢
        • 2010-09-08
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-19
        • 1970-01-01
        • 2017-04-06
        • 2011-02-12
        相关资源
        最近更新 更多