是否可以使用GORM层外的Grails Jasypt插件进行简单的字符串加密和解密?

时间:2013-10-04 23:10:06

标签: grails cryptography jasypt

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

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

理想情况下,我会像这样保持简单

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

可能的?

1 个答案:

答案 0 :(得分:1)

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

我认为您可以根据您的配置使用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中运行上述方法。