我創建了使用數據庫連接的可執行jar應用程序。問題是我的hibernate.cfg文件包含在源代碼中,任何人都可以輕鬆獲得用戶名和密碼。可執行jar文件 - hibernate.cfg文件
我該如何避免這種情況?使其不可讀或以某種方式放在別的地方,沒有人可以閱讀它。
我創建了使用數據庫連接的可執行jar應用程序。問題是我的hibernate.cfg文件包含在源代碼中,任何人都可以輕鬆獲得用戶名和密碼。可執行jar文件 - hibernate.cfg文件
我該如何避免這種情況?使其不可讀或以某種方式放在別的地方,沒有人可以閱讀它。
在正確安全的機器上,純文本密碼通常很好;如果有人想要做不好的事情對機器有管理權限,他們可能很容易做壞事,而不知道數據庫的密碼。除非你有惡意管理員,否則沒有必要擔心它,但如果你有其中一個,任何人都無法做到。您可以擁有加密的密碼,但我會優先考慮保護服務器本身,而不用擔心配置文件中的密碼。
您可以檢查http://www.jasypt.org/加密
那麼如何解密呢? – Chaitanya
它在鏈接http://www.jasypt.org/中提到 –
您可以使用Jasypt:簡化的Java API加密加密您的用戶名和密碼,它是一個簡單的API。
Hibernate.cfg。配置
<property name="hibernate.connection.provider_class">org.jasypt.hibernate3.connectionprovider.EncryptedPasswordC3P0ConnectionProvider</property>
您需要使用此API來加密您的密碼並在休眠配置中提供該密碼。
<property name="connection.encryptor_registered_name">standardPBEStringEncryptor</property> <property name="connection.password">ENC(QVvFsdfefwewEz3i+0EwsxWenjtrjtrjweftUYpMs)</property>
使用加密密碼 –
你可以使用JNDI – Chaitanya