【发布时间】:2013-02-12 08:10:14
【问题描述】:
我想在 javascript 中加密。在 PHP 中解密。
JavaScript AES 加密库是 CryptoJS。
PHP AES 加密库是 mcrypt。
我得到了不正确的结果。
得到类似'I4��L$�"�"E̹_��zHe����V���:�'的结果。
- 加密 (JavaScript)
encrypt = CryptoJS.AES.encrypt('HelloWorld', 'test', {mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding });
- 解密 (PHP)
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
mcrypt_decrypt(MCRYPT_RIJNDAEL_256, 'test', $encrypt, MCRYPT_MODE_CBC, $iv);
哪里出错了?
谢谢。
【问题讨论】:
-
你为什么要这样做?
-
您确实意识到您必须在您的网页中发布您的密钥以供全世界查看?这使得加密变得毫无意义。
-
基本上,任何查看您的 JavaScript 源代码的人都可以解密正在传递的数据。如果您想保护传输中的数据,您应该使用 SSL。
-
感谢您的回复!我认为使用 AES 不使用 HTTPS 可以轻松完成。抱歉...错过了信息。加密的平台是 Titanium。我认为源代码是编译的,没有问题。
-
类似问题here。 已回答。
标签: php javascript encryption cryptojs