Hibernate 5.2加密配置属性

时间:2017-11-16 07:56:23

标签: java hibernate encryption

在我的Hibernate 5.2.11构建应用程序中,有许多带有用户名,密码和连接URL的hibernate配置文件。 我想加密这些数据。

我的配置文件是这样的:

__str__()

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

使用属性占位符,然后将数据库配置添加到服务器上的属性文件中:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="location">
    <value>file:${configDir}/database.properties</value>
  </property>
</bean>

然后

<property name="connection.url">${url}</property>
<property name="connection.username">${username}</property>
<property name="connection.password">${passowrd}</property>

然后安全地在服务器上的database.properties将是

url=jdbc:oracle:localhost
usuername=username
password=passowrd123

然后,当您启动Java应用程序时,添加一个系统参数来定义configDir位置,例如:

 .... -DconfigDir=/opt/config

参见示例here

答案 1 :(得分:0)

通常 - 加密/隐藏客户端(工作站/移动/ ...)上的任何内容,您可以将其视为混淆或编码。

理论上 - 您可以以编程方式设置Hibernate属性(请参阅Setting properties programmatically in Hibernate)从加密文件中读取数据。

问题是 - 你把加密密钥放在哪里?无论如何,必须在某个地方为应用程序提供密钥。