我正在寻找一种安全的方式来存储我的数据库密码。我发现,我可以使用Maven加密我的密码。 https://maven.apache.org/guides/mini/guide-encryption.html。
所以我创建了一个主密码并用它加密了我的数据库密码:
mvn --encrypt-master-password <password>
vim ~/.m2/settings-security.xml
<settingsSecurity>
<master>{my-encrypted-master-pw}</master>
</settingsSecurity>`
mvn --encrypt-password <db-password>
vim ~/.m2/settings.xml
<settings>
<servers>
<server>
<id>my.postgres.db</id>
<username>user</username>
<password>{my-encrypted-db-password}</password>
</server>
</servers>
</settings>
现在我正在寻找一种方法来访问和解密数据库密码并在hibernate.cfg.xml
中使用它?
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://localhost:5432/app</property>
<property name="connection.username">user</property>
<property name="connection.password">????</property>
</session-factory>
</hibernate-configuration>
有一个Maven扩展,允许您从任何pom.xml https://github.com/shyiko/servers-maven-extension引用服务器部分的内容。但我正在努力将其传递给休眠。
是否有一种更安全地存储数据库密码的简单方法?