- 44
- 0
后台为php,使用openssl用aes进行加密,加密结果与http://tool.chacuo.net/cryptaes结果是一致的。
现在的问题是前端使用CryptoJS怎么弄都不一样。要么与后台加密的数据不一致,要么CryptoJS加的密不能用CryptoJS来解密。
问题出在哪里呢,如果大家有更好的方案麻烦一并写出。太苦恼了。
php代码:
$data = '1000001';
$key = 'ABC123';
$iv = '1111111111111111';
// 结果是:2oXkUjqbc1JnSpWEemVfzg==
// 结果和http://tool.chacuo.net/cryptaes一致
$encrypt_string = openssl_encrypt($data, 'AES-128-CBC', $key, 1, $iv);
js代码,前提引入了CryptoJS:
//十六位十六进制数作为秘钥
var aeskey = CryptoJS.enc.Utf8.parse("ABC123");
//十六位十六进制数作为秘钥偏移量
var aesiv = CryptoJS.enc.Utf8.parse(1111111111111111);
// 加密
function encrypt(data) {
var srcs = CryptoJS.enc.Utf8.parse(data);
var encrypted = CryptoJS.AES.encrypt(srcs, aeskey, {
iv: aesiv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
//返回base64加密结果
return encrypted.toString();
}
//解密
function decrypt(data) {
// data是base64编码数据
var decrypt = CryptoJS.AES.decrypt(data, aeskey, {
iv: aesiv,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
var decryptedStr = decrypt.toString();
return decryptedStr;
}
// 结果是:IkNtZY1m41sEkgIqsuZBoQ==
// 结果相差太大
console.log(encrypt('1000001')); 0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

