开始前,你要从 GitHub 上下载 cryptojs 到项目然后进行引入。
前端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| const tmp_data = { 'name': 'hongfs', };
const data = Crypto.charenc.UTF8.stringToBytes(JSON.stringify(tmp_data));
const key = Crypto.charenc.UTF8.stringToBytes('p12bsog0qt8lfe53');
const iv = Crypto.charenc.UTF8.stringToBytes('t73e6qh8li0cnv2z');
const encrypt_data = Crypto.AES.encrypt(data, key, { iv: iv, mode: (new Crypto.mode.CBC(Crypto.pad.pkcs7)) });
wx.request({ url: 'http://127.0.0.1:8000', method: 'POST', header: { 'content-type': 'application/json' }, data: { data: encrypt_data, }, success (response) { }, });
|
后端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| public function index() { $data = request()->input('data');
if(!$data) { return '参数错误'; }
$key = 'p12bsog0qt8lfe53'; $iv = 't73e6qh8li0cnv2z';
$data = openssl_decrypt($data, 'AES-128-CBC', $key, 0, $iv);
if($data === false) { return '数据解密失败'; }
$data = json_decode($data, true);
return '获取成功';
$result = [ 'code' => 1, ];
return openssl_encrypt(json_encode($result), 'AES-128-CBC', $key, 0, $iv); }
|