Lyu*_*nov 5 javascript php encryption mcrypt cryptojs
我正在寻找一种方法来对简单文本(5到6个数字和/或字符)进行双向加密.问题是,我想在php中进行加密,然后通过Javascript解密.对于php我已经使用mcrypt_encode测试并且已经使它工作,因此当我尝试用javascript解密它时(我正在使用Crypto-js库 - http://code.google.com/p/crypto-js /)我没有结果.这是我正在使用的PHP代码:
$key = "oijhd981727783hy18274";
$text = "1233";
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_256, '', MCRYPT_MODE_CBC, '');
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
$crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_CBC,$iv);
echo base64_encode($crypttext);
Run Code Online (Sandbox Code Playgroud)
然后这是我正在使用的Javascript代码:
var encrypted = CryptoJS.enc.Base64.parse("LiJU5oYHXRSNsrjMtCr5o2ev7yDFGZId85gh9MEXPeg=");
var key = 'oijhd981727783hy18274';
var decrypted = CryptoJS.AES.decrypt(encrypted, key);
document.write( decrypted.toString(CryptoJS.enc.Utf8) );
Run Code Online (Sandbox Code Playgroud)
因为我只是测试,我将来自php的输出直接复制/粘贴到JS中,看看它是否会返回任何结果,但这并不会发生.由于我是加密/解密部分的新手,我可能会遗漏一些东西.任何建议将不胜感激.
在旁注中,我在这里阅读了很多关于使用其他类型的通信来传输数据的建议,在这种情况下这是不可能的,因为我需要将此字符串传递给第三方软件,这将带来它在一个安全的区域,我可以访问只编辑javascript,这就是为什么我试图加密php中的文本并将其放在网站的源代码中,第三方软件将从中读取它,因为它是加密的并将它转移到安全部分,我将需要通过Javascript解密它(我没有访问PHP那里).
前段时间我也遇到了同样的问题。我终于使用http://code.google.com/p/slowaes/中的 SlowAES进行了一些修复,并将其移植到 PHP。
注意:官方源代码已损坏,就像官方 PHP 端口一样。
如果您有兴趣,请告诉我。然后我会在 GitHub 上打开一个新的存储库,您可以在其中获取所需的一切...
| 归档时间: |
|
| 查看次数: |
10856 次 |
| 最近记录: |