Java 有没有为独立应用程序加密persistence.xml的方法?
我不需要像Glasfish这样的大框架。我已经用JPA建立了一个独立的应用程序。这意味着客户端将拥有所有文件,包括persistence.xmlJava 有没有为独立应用程序加密persistence.xml的方法?,java,jpa,Java,Jpa,我不需要像Glasfish这样的大框架。我已经用JPA建立了一个独立的应用程序。这意味着客户端将拥有所有文件,包括persistence.xml 有办法加密吗?我不想泄露mysql凭据。您正在将软件和配置数据提供给另一方,以便它们在其环境中运行。因为他们控制着这个环境,所以没有理由认为你可以对你提供的东西保密。特别是,如果您有一种加密persistence.xml的方法,那么它可能对任何正派的黑客都没有什么用处,因为您的程序需要先解密内容,然后才能使用它们 我想您最关心的是数据库访问凭据,因此您
有办法加密吗?我不想泄露mysql凭据。您正在将软件和配置数据提供给另一方,以便它们在其环境中运行。因为他们控制着这个环境,所以没有理由认为你可以对你提供的东西保密。特别是,如果您有一种加密persistence.xml的方法,那么它可能对任何正派的黑客都没有什么用处,因为您的程序需要先解密内容,然后才能使用它们 我想您最关心的是数据库访问凭据,因此您的应用程序连接到由您管理的中央数据库。如果您对用户的信任程度不高,那么这是一个相当值得怀疑的计划
尽管如此,如果您继续这样做,那么我建议为您授予访问权限的每个用户创建单独的数据库凭据,并尽可能锁定授予这些用户的访问权限。使用提供细粒度访问控制的数据库可能会有所帮助。您还应该考虑保持一个审计跟踪/事务日志足以检测和纠正用户可能做的任何损坏,无论是通过试图破解您还是由于软件中的bug。 < P>您不能加密持久化.xml。 但是,您可以在创建EntityManger时传递一个映射,而不是将属性放在persistence.xml中
EntityManager createEntityManager(SynchronizationType synchronizationType, Map map)
因此,您可以在另一个文件中对属性进行加密。但是你需要解密证书,约翰所说的一切都将适用