0

我使用优秀的 JASYPT 插件来加密和解密某些数据库列。效果很好。但是我有一个用于加密/解密简单字符串的用例,这些字符串不会进入数据库,我喜欢使用我已经设置的 Jasypt 配置和我的秘密和摘要来完成它,而不是引入另一个插件或加密配置,但似乎文档只显示了如何将它用于 GORM 和域类。

https://bitbucket.org/tednaleid/grails-jasypt/wiki/Home

理想情况下,我会像这样让事情变得非常简单

String encrypted = myJasyptConfig().encrypt(myString)
//then later
String decrypted = myJasyptConfig().decrypt(encrypted)

可能的?

4

1 回答 1

2

该插件具有 jasypt 依赖项,它们被导出到应用程序(默认情况下,插件依赖项可传递给应用程序)。

我认为您可以根据您的配置使用StandardPBEStringEncryptor 。

在您的应用程序的示例控制器(注入)中添加以下方法作为操作grailsApplication并点击它。

def standard(){
    def jasyptConfig = grailsApplication.config.jasypt
    org.jasypt.encryption.pbe.StandardPBEStringEncryptor stringEncryptor = 
           new org.jasypt.encryption.pbe.StandardPBEStringEncryptor(jasyptConfig)

    def encrypted = stringEncryptor.encrypt("Hello World")
    def decrypted = stringEncryptor.decrypt(encrypted)

    render([encrypted: encrypted, decrypted: decrypted] as JSON)
}

或者只是在grails console.

于 2013-10-05T00:37:18.437 回答