jasypt 与spring结合的两种配置方式

我们在开发一套系统的时候需要连接数据库,而在连接数据库的后配置文件通常是要加密的,假如使用spring +jasypt来实现数据库连接的加密,那么有两种方式可以配置

 

 

第一种,加密时的KEY可以采用动态的,而非写死的,这样会更安全一些,但是同时也会产生一些麻烦。

 

<bean id="environmentVariablesConfiguration"
class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="passwordEnvName" value="APP_ENCRYPTION_PASSWORD" />
</bean>

<bean id="configurationEncryptor"
class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="environmentVariablesConfiguration" />
</bean>

 

这种方式需要在系统级别设置环境变量APP_ENCRYPTION_PASSWORD

 

可以根据需求设定不同的值。

 

<bean id="environmentVariablesConfiguration"
class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="password" value="capaa" />
</bean>

<bean id="configurationEncryptor"
class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="environmentVariablesConfiguration" />
</bean>

这种配置直接可以把值写死在系统配置上面。两种配置方式各有需求,根据实际情况来选择。

你可能感兴趣的:(spring)