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

时间:2011-04-07 09:13:55

标签: java actionscript-3 aes encryption

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

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

在闪存方面,我使用Java生成的密钥(Base64)来解密字符串,我注意到它没有被正确解密。我在flash中使用的加密库是as3crypto。当我使用我的Java生成密钥(Base64)在demo page of the as3crypto project上对此进行测试时,我注意到我没有使用所有可能的模式(CBC,CFB等)获得相同的结果。

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

此致

1 个答案:

答案 0 :(得分:2)

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

很少有人注意到。

AES加密数据可在语言之间互换,因此无需考虑。

  1. 相同的加密算法(呃!)
  2. 相同尺寸的钥匙(128/192/256)
  3. 相同的密钥
  4. Same Mode of operation(ECB / CBC / CTS等)
  5. Same initialization vector(对于某些操作模式,不适用于CTS)
  6. Same Padding scheme
  7. Character Encoding
  8. 您确定Java和ActionScript之间的所有这些都是相同的吗?