我有客户 token ,我从一个网络应用程序发送到另一个网络应用程序,比如 app2。我想加密客户 token 在 app1 上使用在 app1 和 app2 上共享的 key 在 app2 上解密。我不知道如何开始?会很 如果有人可以向我指出一些示例代码或一些使用共享 key 的教程,这很有帮助,因为网上有太多加密/解密的东西(如对称 key 、公私 key ),这让我很困惑。另一个限制是我没有足够的时间来详细介绍这一点。提前致谢。
编辑:- 我正在寻找类似于 http://sanjaal.com/java/186/java-encryption/tutorial-java-des-encryption-and-decryption/ 给出的简单程序但使用 AES?无法在使用共享 key 的 AES 中找到此类示例?
最佳答案
我建议这样做:
为您的每个应用程序分配一个公钥/私钥对,并将私钥安全地存储在 key 中,并使用密码进行保护。确保这是非常安全的。不用说公共(public)证书(也包含公共(public) key )将是公共(public)的。
每个应用程序都将拥有所有其他应用程序的公共(public) key 证书。现在,每当一个应用程序想要与其他应用程序通信时;
首先使用发送应用程序的私钥签名
(基本上是加密) token 。
然后使用您要将数据发送到的应用程序的公钥加密结果值。
这样,接收此值的应用程序就可以放心,中间的任何人都无法辨认出您发送的内容,也无法验证 token 是否来自受信任的实体。
但是如果您使用共享 key (对称 key ),那么如果对称 key 被泄露,那么所有应用程序都将被泄露。
关于java - 在java中使用共享 key 加密/解密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10829218/