java中的密钥库密码加密

java中的密钥库密码加密,java,ssl,encryption,jsse,Java,Ssl,Encryption,Jsse,在调用远程队列之前,我需要设置以下变量 System.setProperty("javax.net.ssl.trustStore","C:\\certs\\trustStore.jks"); System.setProperty("javax.net.ssl.keyStore","C:\\keystore\\keyStore.jks"); System.setProperty("javax.net.ssl.keyStorePassword","Demo1234"); System.setProp

在调用远程队列之前,我需要设置以下变量

System.setProperty("javax.net.ssl.trustStore","C:\\certs\\trustStore.jks");
System.setProperty("javax.net.ssl.keyStore","C:\\keystore\\keyStore.jks");
System.setProperty("javax.net.ssl.keyStorePassword","Demo1234");
System.setProperty("javax.net.ssl.trustStorePassword","Demo1234");

密码在这里公开。加密密码的最佳方法是什么?

在某些情况下,您的私钥/密钥存储密码必须是可见的,以便进行安全通信。它需要安全地存储在web/app服务器中。您的代码库需要安全存储,并且只有需要查看的人才能访问。您可以将其加密存储在某个地方并解密以供使用,但您的加密和解密算法仍然是可见的,并且可能是模拟的,因此在某个时候,访问明文的方法将是可用的,这仅仅是一个确保它只对尽可能少的人可用的问题,并通过您的网络安全尽可能避免被窥探


这里的加密技术,如果您需要的话:

在某个时候,您的私钥/密钥存储密码必须是可见的,以便进行安全通信。它需要安全地存储在web/app服务器中。您的代码库需要安全存储,并且只有需要查看的人才能访问。您可以将其加密存储在某个地方并解密以供使用,但您的加密和解密算法仍然是可见的,并且可能是模拟的,因此在某个时候,访问明文的方法将是可用的,这仅仅是一个确保它只对尽可能少的人可用的问题,并通过您的网络安全尽可能避免被窥探


这里的加密技术,如果您需要的话:

您想避免什么风险?如果问题是你永远不想在内存中使用纯文本密码,那么你正在使用的库似乎不允许你这样做。如果我不想使用纯文本,我们怎么做?你试图避免什么风险?如果问题是你永远不想在内存中使用纯文本密码,那么你正在使用的库似乎不允许你这样做。如果我不想使用纯文本,我们怎么做?你能给出一个如何加密的代码示例吗?我不介意密码在运行时被公开或解密。但是我不想将密码存储为纯文本。不管怎样,它都会被存储在某个地方。即使是加密的,解密算法也可以免费使用,并且很容易复制以再次获得纯文本。但是,如果你真的想加密作为一个次要的威慑@Deepak,但我不想将密码存储为纯文本。但是您计划将密码解密的方法存储为纯文本。您的密码将以某种形式出现在服务器上。没有办法完全保护这个密码。密码要么直接在源代码中,要么通过解密的方式进行加密,以便在源代码中轻松复制。您无法在源代码中保护此密码。您可以在服务器上对其进行保护,如果您对其进行加密并将其存储在其他位置(如数据库或文件系统),然后从应用程序内部对其进行解密,但如果有人可以访问源代码,则他们可以获取纯文本。我很好奇你想保护什么。你在这里的用例是什么?你在这里试图保护什么?此密码在源代码中,所以除了开发人员或能够访问源代码的人员之外,任何人都无法使用。如果您没有在公共互联网上提供JAR,那么应该没有什么大问题需要担心。我只是好奇,在哪里需要混淆这个密码。这似乎没有必要。如果您对它进行加密,任何有权访问源代码的人都可以轻松解密它。如果他们不这样做,那么他们一开始就看不到纯文本。明白我的意思吗?你能给出一个如何加密的代码示例吗?我不介意密码在运行时被公开或解密。但是我不想将密码存储为纯文本。不管怎样,它都会被存储在某个地方。即使是加密的,解密算法也可以免费使用,并且很容易复制以再次获得纯文本。但是,如果你真的想加密作为一个次要的威慑@Deepak,但我不想将密码存储为纯文本。但是您计划将密码解密的方法存储为纯文本。您的密码将以某种形式出现在服务器上。没有办法完全保护这个密码。密码要么直接在源代码中,要么通过解密的方式进行加密,以便在源代码中轻松复制。您无法在源代码中保护此密码。您可以在服务器上对其进行保护,如果您对其进行加密并将其存储在其他位置(如数据库或文件系统),然后从应用程序内部对其进行解密,但如果有人可以访问源代码,则他们可以获取纯文本。我很好奇你想保护什么。你在这里的用例是什么?你在这里试图保护什么?此密码在源代码中,所以除了开发人员或能够访问源代码的人员之外,任何人都无法使用。如果您没有在公共互联网上提供JAR,那么应该没有什么大问题需要担心。我只是好奇,在哪里需要混淆这个密码。这似乎没有必要。如果您对它进行加密,任何有权访问源代码的人都可以轻松解密它。如果他们不这样做,那么他们一开始就看不到纯文本。明白我的意思吗?