2、小程序js页面引入
var crypto = require('../../utils/crypto.js');//注意路径是否正确
3、使用
let data = {
id: that.data.id,
name: 'dx'
}
console.log(JSON.stringify(data))
console.log("加密=============")
console.log(crypto.encrypted(JSON.stringify(data)))//加密
console.log("=============")
PHP解密
<?php
header("Content-type:text/html;charset=utf-8");
//加密向量16位
$iv = "iviviviviviviviv";
//js加密秘钥16位(iv和key可以是相同的,也可以不同。但是必须要和js中的一致才可以)
$decrypt_key = "iviviviviviviviv";
//********************************解密**********************************
//js加密密文字符串
$decrypt_data = "加密后的字符串";
$decrypted = decrypt($decrypt_data, $decrypt_key, $iv);
//解密结果
var_dump($decrypted);
//exit;
//********************************结束**********************************
//********************************加密**********************************
//PHP加密秘钥16位
$encrypt_key = date("YmdHis");
//PHP加密数据
$arr = array('username' => '张三', 'password' => '123456');
//转换成json字符串
$encrypt_data = json_encode($arr);
$encrypted = encrypt($encrypt_data, $encrypt_key, $iv);
//加密结果
var_dump($encrypted);
exit;
//********************************结束**********************************
//******************************集成函数********************************
/**
* 加密字符串
* @param string $data 字符串
* @param string $key 加密key
* @param string $iv 加密向量
* @return string
*/
function encrypt($data, $key, $iv)
{
//支持php5
//$encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
//支持php8
//$decrypted = openssl_encrypt($data, 'AES-128-CBC', $key,2, $iv);
$encrypted = openssl_encrypt($data, "AES-128-CBC", $key, true, $iv);
return base64_encode($encrypted);
}
/**
* 解密字符串
* @param string $data 字符串
* @param string $key 加密key
* @param string $iv 加密向量
* @return object
*/
function decrypt($data, $key, $iv)
{
//支持php5
//$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, base64_decode($data), MCRYPT_MODE_CBC, $iv);
//支持php8
//$decrypted = openssl_decrypt($data, 'AES-128-CBC', $key,2, $iv);
$decrypted = openssl_decrypt(base64_decode($data), 'AES-128-CBC', $key, true, $iv);
$json_str = rtrim($decrypted, "\0");
return json_decode($json_str);
}