0

最近我通过 Jasypt API 来保护属性文件条目。根据 Jasypt,为了解密包含在 ENC(..) 中的属性文件中的条目,我们需要使用安全密码,即密钥,如下所示(不是 Web 应用程序):

    encryptor.setPassword("jasypt"); // could be got from web, env variable..

当然我们可以配置这样的密码使用

    org.jasypt.encryption.pbe.config.SimplePBEConfig setPassword()

但我的问题是,如果我们提取 jar 文件,第 3 方可以找出密钥。在这种情况下,我们如何确保安全?

在此先感谢,JK

4

1 回答 1

0

密钥应存储在应用程序外部的环境变量中。

例如,在您的 spring 配置文件中:

<bean id="environmentConfig" class=  
"org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig"  
p:passwordEnvName="APP_ENCRYPTION_PASSWORD" ...

现在,在操作系统或应用服务器的环境变量中添加 APP_ENCRYPTION_PASSWORD。

于 2014-05-31T13:15:19.093 回答