求一份非对称加密demo,php加密,js前台解密 [ 2.0 版本 ]
因为不想把数据直接json出来。想加密后再打印出来。
下面是来自阿里云
https://yq.aliyun.com/ziliao/8538#
的资料,可是我引入了,
打印明文是just a test
加密后的是U1s1TFN3IQ0reTZbBgJlCA==
js解密就一个w出来,为啥
<script src=\"js/md5.js\"></script>
<script src=\"js/base64.js\"></script>
<script>
function strencode(string) {
key =md5('just a test');
string = Base64.decode(string);
len = key.length;
code = '';
for (i = 0; i < string.length; i++) {
k = i % len;
code += String.fromCharCode(string.charCodeAt(i) ^ key.charCodeAt(k));
}
return Base64.decode(code);
}
alert(strencode('U1s1TFN3IQ0reTZbBgJlCA=='));
</script>
最佳答案
-
你都已经md5了,怎么解密回来。。。
共 9 条回复看错了,问题是base64.js有问题,把这个js换成这个就可以了http://plugins.jquery.com/base64/
然后js前台解密部分改成:
function strencode(string) {key =md5('just a test'); string = $.base64.atob(string); len = key.length; code = ''; for (i = 0; i < string.length; i++) { k = i % len; code += String.fromCharCode(string.charCodeAt(i) ^ key.charCodeAt(k)); } return $.base64.atob(code); }
亲测有效~
其他 2 个回答
蛋蛋的蛋
注册时间:2018-04-02
最后登录:2024-03-11
在线时长:34小时29分
最后登录:2024-03-11
在线时长:34小时29分
- 粉丝4
- 金钱64
- 威望20
- 积分604