我使用优秀的JASYPT插件来加密和解密某些数据库列。效果很好。但我有一个用于加密/解密的简单字符串的用例,这些字符串没有进入数据库,我很乐意使用我已经设置的Jasypt配置和我的秘密和摘要来做它而不是引入另一个插件或加密配置,但似乎文档只显示如何将它用于GORM和域类。
https://bitbucket.org/tednaleid/grails-jasypt/wiki/Home
理想情况下,我会像这样保持简单
String encrypted = myJasyptConfig().encrypt(myString)
//then later
String decrypted = myJasyptConfig().decrypt(encrypted)
可能的?
答案 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
中运行上述方法。