2

我有客户令牌,我要从一个 Web 应用程序说 app1 发送到另一个 Web 应用程序说 app2。我想在 app1 加密客户令牌并在 app2 使用在 app1 和 app2 共享的密钥对其进行解密。我不知道如何开始?如果有人可以使用共享密钥向我指出一些示例代码或一些教程,那将非常有帮助,因为网上有太多加密/解密的东西(如对称密钥、公私钥),这真的让我很困惑。另一个限制是我有很短的时间来详细介绍。提前致谢。

编辑:-我正在寻找类似http://sanjaal.com/java/186/java-encryption/tutorial-java-des-encryption-and-decryption/但使用 AES 的简单程序?无法使用共享密钥在 AES 中找到这种示例?

4

2 回答 2

0

我建议这样做:让

您的每个应用程序都分配一个公钥/私钥对,并将私钥安全地存储在密钥中,并用密码保护。确保这是非常安全的。不用说公共证书(也包含公共密钥)将是公共的。
每个应用程序都将拥有所有其他应用程序的公钥证书。现在,当一个应用程序想要与其他应用程序通信时;

首先sign(基本上加密)使用发送应用程序的私钥的令牌。
然后使用您要将数据发送到的应用程序的公钥加密结果值。

这样,接收此值的应用程序可以确保中间没有人能够辨认出您发送的内容并验证令牌是否来自受信任的实体。
但是如果你使用共享密钥(对称密钥),那么如果对称密钥被泄露,那么所有的应用程序都会被泄露。

于 2012-05-31T11:19:13.737 回答
-1

通常您使用非对称算法(例如 RSA)来加密对称密钥(例如 AES)以安全地与另一方共享它,然后您的后续通信使用对称密钥加密。这是非常基本的要点,但还有更多因素需要考虑。

我可以看到你自己现在陷入了非常大的麻烦,有几个原因。

  1. 你不了解密码学的概念
  2. 你不愿意深入研究它
  3. 只是想从网上获取一些代码并使用它。
  4. 时间真的很短

我了解您可能别无选择,也许您的雇主/客户希望快速完成这项工作。但我彻底建议你不要继续,除非你知道你在做什么。如果您正在处理信用卡信息或其他重要客户信息等敏感细节,请帮自己一个忙,深入研究密码学。

如果您以不正确的方式使用加密算法,那么加密算法的强度并不重要。因此,您需要了解如何正确使用每种算法及其优缺点。

于 2012-05-31T07:55:28.230 回答