【问题标题】:Jasypt and asymmetric encryptionJasypt 和非对称加密
【发布时间】:2015-04-08 14:39:29
【问题描述】:

我想使用 Jasypt 库通过 EncryptablePropertyPlaceholderConfigurer 类解密 Spring 中的属性。我想使用非对称公钥/私钥方法加密/解密这些属性。

您能否确认 Jasypt 支持或不支持它(开箱即用或可能使用 JCE)?如果没有,是否有任何其他库在做(提供弹簧集成和非对称公钥/私钥方法)?

【问题讨论】:

    标签: java encryption jasypt


    【解决方案1】:

    最后,我使用了以下解决方案。也许有人会发现它很有用。

    1. 编写了一个简单的帮助类,使用 RSA 解密数据(你可以找到如何做到这一点here
    2. 通过扩展原始版本 (org.springframework.beans.factory.config.PropertyPlaceholderConfigurer) 实现我自己的 PropertyPlaceholderConfigurer 类版本,并在找到加密属性值时调用帮助程序类来解码数据。

    【讨论】:

      【解决方案2】:

      它支持非对称加密。您可以使用这些命令生成私钥和公钥

      openssl genpkey -out zisky.pem -algorithm RSA -pkeyopt rsa_keygen_bits:2048<br>
      openssl rsa -in zisky.pem -pubout > zisky.pub
      

      添加这些属性:

      jasypt.encryptor.privateKeyFormat=PEM<br>
      jasypt.encryptor.privateKeyLocation=classpath:my_example.pem
      

      使用版本 3.0.3。

      【讨论】:

        【解决方案3】:

        我不了解 Jasypt,但非对称加密不适合加密大于其密钥大小的数据。任何库都不太可能使用非对称算法提供完全加密。这不是非对称加密的目的。

        通常您使用非对称加密(例如 RSA)共享对称密钥(例如 AES)。

        【讨论】:

        猜你喜欢
        • 2019-07-29
        • 2013-04-22
        • 2021-05-30
        • 2011-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-30
        相关资源
        最近更新 更多