2015-05-14 117 views
1

我創建了使用數據庫連接的可執行jar應用程序。問題是我的hibernate.cfg文件包含在源代碼中,任何人都可以輕鬆獲得用戶名和密碼。可執行jar文件 - hibernate.cfg文件

我該如何避免這種情況?使其不可讀或以某種方式放在別的地方,沒有人可以閱讀它。

+0

使用加密密碼 –

+0

你可以使用JNDI – Chaitanya

回答

0

在正確安全的機器上,純文本密碼通常很好;如果有人想要做不好的事情對機器有管理權限,他們可能很容易做壞事,而不知道數據庫的密碼。除非你有惡意管理員,否則沒有必要擔心它,但如果你有其中一個,任何人都無法做到。您可以擁有加密的密碼,但我會優先考慮保護服務器本身,而不用擔心配置文件中的密碼。

您可以檢查http://www.jasypt.org/加密

+0

那麼如何解密呢? – Chaitanya

+0

它在鏈接http://www.jasypt.org/中提到 –

0

您可以使用Jasypt:簡化的Java API加密加密您的用戶名和密碼,它是一個簡單的API。

Hibernate.cfg。配置

<property name="hibernate.connection.provider_class">org.jasypt.hibernate3.connectionprovider.EncryptedPasswordC3P0ConnectionProvider</property>
<property name="connection.encryptor_registered_name">standardPBEStringEncryptor</property> <property name="connection.password">ENC(QVvFsdfefwewEz3i+0EwsxWenjtrjtrjweftUYpMs)</property>
您需要使用此API來加密您的密碼並在休眠配置中提供該密碼。