2015-05-14 119 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来加密您的密码并在休眠配置中提供该密码。