Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有为独立应用程序加密persistence.xml的方法?_Java_Jpa - Fatal编程技术网

Java 有没有为独立应用程序加密persistence.xml的方法?

Java 有没有为独立应用程序加密persistence.xml的方法?,java,jpa,Java,Jpa,我不需要像Glasfish这样的大框架。我已经用JPA建立了一个独立的应用程序。这意味着客户端将拥有所有文件,包括persistence.xml 有办法加密吗?我不想泄露mysql凭据。您正在将软件和配置数据提供给另一方,以便它们在其环境中运行。因为他们控制着这个环境,所以没有理由认为你可以对你提供的东西保密。特别是,如果您有一种加密persistence.xml的方法,那么它可能对任何正派的黑客都没有什么用处,因为您的程序需要先解密内容,然后才能使用它们 我想您最关心的是数据库访问凭据,因此您

我不需要像Glasfish这样的大框架。我已经用JPA建立了一个独立的应用程序。这意味着客户端将拥有所有文件,包括persistence.xml


有办法加密吗?我不想泄露mysql凭据。

您正在将软件和配置数据提供给另一方,以便它们在其环境中运行。因为他们控制着这个环境,所以没有理由认为你可以对你提供的东西保密。特别是,如果您有一种加密persistence.xml的方法,那么它可能对任何正派的黑客都没有什么用处,因为您的程序需要先解密内容,然后才能使用它们

我想您最关心的是数据库访问凭据,因此您的应用程序连接到由您管理的中央数据库。如果您对用户的信任程度不高,那么这是一个相当值得怀疑的计划


尽管如此,如果您继续这样做,那么我建议为您授予访问权限的每个用户创建单独的数据库凭据,并尽可能锁定授予这些用户的访问权限。使用提供细粒度访问控制的数据库可能会有所帮助。您还应该考虑保持一个审计跟踪/事务日志足以检测和纠正用户可能做的任何损坏,无论是通过试图破解您还是由于软件中的bug。

< P>您不能加密持久化.xml。 但是,您可以在创建EntityManger时传递一个映射,而不是将属性放在persistence.xml中

EntityManager createEntityManager(SynchronizationType synchronizationType, Map map)
因此,您可以在另一个文件中对属性进行加密。但是你需要解密证书,约翰所说的一切都将适用