使用 Java 1.5 和 ActionScript as3crypto 进行 AES 加密/解密

发布于 2024-10-30 22:51:49 字数 569 浏览 2 评论 0原文

在我的网站上,我使用 AES 128 位加密/解密字符串。我用 Java 加密了一个字符串,并想在同一网页上运行的 Flash 应用程序中对其进行解密,并将加密的字符串作为 JavaScript 变量传递给该应用程序。

我使用 Java 生成 128 位密钥。我可以在Java中成功地进行加密/解密。 Java 输出密钥的字节数组 (byte[])、加密和解密结果。我使用 Base64 编码/解码来成功获得等效的字符串。

在闪存端,我使用 Java 生成的密钥 (Base64) 来对字符串进行解密,我注意到它没有正确解密。我在 flash 中使用的加密库是 as3crypto。当我使用 Java 生成的密钥 (Base64) 在 as3crypto 项目的演示页面 上进行测试时,我注意到使用所有可能的模式(CBC、CFB 等)我没有得到相同的结果。

导致此错误的可能原因是什么?我做错了什么吗?

问候

On my website I am using AES 128bit encryption/decryption of a string. I encrypt a string in Java and I want to decrypt it in a flash application that I run on the same webpage, to which I pass the encrypted string as a JavaScript variable.

I generate a 128bit key using Java. I can do encryption/decryption in Java successfully. Java outputs byte-array (byte[]) for the key, encrypted and decrypted result. I use Base64 encoding/decoding to successfully get the string equivalent.

On the flash side I use the Java generated key (Base64) to do the decryption of the string and I noticed that it is not correctly decrypted. The cryptography library that I use in flash is as3crypto. When I test this on the demo page of the as3crypto project using my Java generated key (Base64) I noticed that I am not getting the same result using all possible modes (CBC, CFB etc.).

What is the possible cause for this error? Am I doing something wrong?

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

渔村楼浪 2024-11-06 22:51:50

很难说不看一下你的代码,但是......

很少有什么需要注意的。

AES 加密数据可以在语言之间互换,几乎没有什么需要考虑的。

  1. 相同的加密算法(废话!)
  2. 相同的密钥大小(128/192/256)
  3. 相同的密钥
  4. 相同的模式操作(ECB/CBC/CTS等)
  5. 相同的初始化向量(对于某些模式操作,不适用于 CTS)
  6. 相同的填充方案
  7. 字符编码

你确定所有这些在Java之间都是相同的吗和动作脚本?

Hard to say without taking a look at your code but...

Few things to notice.

AES encrypted data to be interchangeable between languages there are few things to consider.

  1. Same encryption algorithm (duh!)
  2. Same size of the key (128/192/256)
  3. Same key
  4. Same Mode of operation (ECB/CBC/CTS etc)
  5. Same initialization vector (For some modes of operations, doesn't apply for CTS)
  6. Same Padding scheme
  7. Character Encoding

Are you sure that all of these are the same between both Java and ActionScript?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文