欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS实现AES加密并与PHP互通的方法分析

程序员文章站 2022-08-27 22:38:51
本文实例讲述了js实现aes加密并与php互通的方法。分享给大家供大家参考,具体如下: 有关数据加密解密问题,有很多钟加密方式; 这里我讲述下js和php实现aes互通...

本文实例讲述了js实现aes加密并与php互通的方法。分享给大家供大家参考,具体如下:

有关数据加密解密问题,有很多钟加密方式;

这里我讲述下js和php实现aes互通

js加密:

首先引入这几个js文件

本站下载地址

<script type="text/javascript" src="/cryptojs/aes.js"></script>
<script type="text/javascript" src="/cryptojs/pad-zeropadding.js"></script>
<script type="text/javascript">
var data="test";//加密字符串
var key = cryptojs.enc.latin1.parse('@12345678912345!');//密钥
var iv = cryptojs.enc.latin1.parse('@12345678912345!');//与密钥保持一致
//加密
var data = json.stringify(data);//将数据对象转换为json字符串
var encrypted = cryptojs.aes.encrypt(data,key,{iv:iv,mode:cryptojs.mode.cbc,padding:cryptojs.pad.zeropadding});
encrypted=encodeuricomponent(encrypted);
document.write(decrypted);//输出加密后的字符串
//解密
var data="加密的字符串";
//key和iv和加密的时候一致
 var decrypted = cryptojs.aes.decrypt(data,key,{iv:iv,padding:cryptojs.pad.zeropadding});
 decrypted=decrypted.tostring(cryptojs.enc.utf8);
 document.write(decrypted);//输出解密后的数据
</script>

注意:在实际用的时候和php传输中,js加密后的字符串里面的+被浏览器解析成了空格  然后php解密的时候出错;这里可以对加密之后的字符串做进一步处理encrypted=encodeuricomponent(encrypted);就没有这个问题了

php的加密解密方法:

$privatekey="@12345678912345!";
$iv="@12345678912345!";
//加密
$encrypted=mcrypt_encrypt(mcrypt_rijndael_128,$privatekey,$data,mcrypt_mode_cbc,$iv);
echo base64_encode($encrypted);
//解密
$encrypteddata=base64_decode($data);
$decrypted=mcrypt_decrypt(mcrypt_rijndael_128,$privatekey,$encrypteddata,mcrypt_mode_cbc,$iv);
$decrypted=rtrim($decrypted,"\0");//注意!解密出来的数据后面会出现六个红点;这句代码可以处理掉,从而不影响进一步的数据操作
return $decrypted;

ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:

base64编码解码工具:

密码安全性在线检测:

高强度密码生成器:
http://tools.jb51.net/password/createstrongpassword

md5在线加密工具:
http://tools.jb51.net/password/createmd5password

在线散列/哈希算法加密工具:

在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:

在线sha1/sha224/sha256/sha384/sha512加密工具:

更多关于javascript相关内容可查看本站专题:《javascript加密解密技巧汇总》、《javascript切换特效与技巧总结》、《javascript查找算法技巧总结》、《javascript动画特效与技巧汇总》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结

希望本文所述对大家javascript程序设计有所帮助。