JS和PHP交互AES加密解密数据
虽然很多人也写了类似的博客,但是网上也很多坑;下面罗列坑
- php7.0开始mcrypt_decrypt函数将不能使用,整个mcrypt模块都废弃了;目前我使用的函数:openssl_decrypt
- JS的aes.js引入,有两种方式
- JS目前aes解密,openssl_decrypt函数加密方式仅支持:AES-128-CBC
博客结构
罗列坑—>JS代码—>PHP代码—>demo当中遇到的坑
Js代码
其中js引入的文件,下载地址:https://github.com/sytelus/CryptoJS
1. aes.js 下载的文件里面有两份:
2. components:里面的aes.js不能直接使用,直接应用会报错,CryptoJS is not defined;网上的说法好像是
components里面的需要npm安装才能使用,具体不懂,因我前端很渣;
3. 所以我是直接引入rollups里面的aes.js
4. pad-zeropadding-min.js:直接使用components,只有这里面有,没得选择
5. 注意:key和iv都需要16字节长度
6. 这里使用的是aes 的cbc 加密方式
<!DOCTYPE html>
<html>
<head>
<title>aes加密</title>
<meta charset="utf-8">
</head>
<body>
<button class="ajax">请求解密</button>
</body>
<script src="./aes.js"></script>
<script src="./pad-zeropadding-min.js"></script>
<script src=