java - 在java中使用共享 key 加密/解密?

标签 java encryption

我有客户 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/

相关文章:

c# - 使用AesGcm类

java - 单击 JButton 时删除父 JPanel

java - 如何配置 SonarCloud

java - java中的变量继承

java - 提供两个相同类型的不同实例

macos - FileVault2恢复 key 修改后如何获取?

encryption - 练习密码分析和密码学技术的工具

c++ - 无法使用在线程运行方法中运行的 CryptoPP FileSink 终止 Qt 线程

java - 装饰器模式成员变量

java - 如何加密用户输入(例如 : password) in java output console