PHP,Java,Javascript之间的AES互操作性

时间:2011-10-07 12:15:54

标签: java php javascript encryption aes

我正在开发一种需要加密的HTTP API。我曾尝试使用AES来获得Java,PHP和Javascript之间的兼容性,但到目前为止,我已经设法获得Java< - > PHP和Java< - > Javascript,但不能同时获得PHP和Javascript。

有没有人在实现这些语言之间的互操作性方面有任何经验?

非常感谢任何建议。

由于

2 个答案:

答案 0 :(得分:3)

要让AES在不同系统中运行,您必须确保所有系统上的所有内容都相同。这意味着不依赖系统默认值 - 系统之间的默认值可能不同。您需要明确指定所有内容。

  • 指定模式;使用CBC或CTR。
  • 指定IV。您可以将其添加到密文。
  • 指定填充;对于AES使用PKCS7。
  • 如果您的密钥是文本字符串,则指定用于将其转换为字节的字符编码。
  • 如果您的明文是文本字符串,则指定用于将其转换为字节的字符编码。

答案 1 :(得分:1)

AES是一种标准(已定义here)。无论您使用哪种编程语言,结果必须相同。

从官方定义中检查一些测试向量,或者 - 如果您已经实施了块操作模式 - 从here检查。

如果您的实施有不同的结果,它可能有用,但它不会是AES ......