为了账号安全,请及时绑定邮箱和手机立即绑定

我想解密使用 openssl_encrypt 在 php 中加密的文本

我想解密使用 openssl_encrypt 在 php 中加密的文本

PHP
米琪卡哇伊 2022-05-27 15:03:04
php加密功能就像 public function encrypt($value)    {        $key ="ATob9yt5i9ajBPaw2GkTm8QfkCG9sUnW9cn0ndZmulK=";        $iv = chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0)            . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0)            . chr(0x0) . chr(0x0) . chr(0x0) . chr(0x0);        $d = base64_decode($key);        $value = \openssl_encrypt($value,            $this->cipher, $d  , 0,$iv        );        return $value;    }我不知道如何在 js 中解密它。我目前正在使用 CryptoJs。最令人困惑的部分是 iv 和 base64_decode($key)。我当前在 js 中的实现如下function encrypt(value){    let key = new Buffer("ATob9yt5i9ajBPaw2GkTm8QfkCG9sUnW9cn0ndZmulK=", 'base64');    let iv = CryptoJS.enc.Utf8.parse(String.fromCharCode(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0));    let encrypted = CryptoJS.AES.encrypt(value,CryptoJS.enc.Utf8.parse(key.toString()), {        iv:iv,        mode: CryptoJS.mode.CBC,    });}我对 iv 密钥和在 base64 中解码密钥感到非常困惑
查看完整描述

1 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

问题是关键。如果您使用 CryptoJS.enc.Base64.parse(key) 解析密钥,它将被解决。Base64.parse 会将密钥转换为 CryptoJS 接受的字数组作为输入。



查看完整回答
反对 回复 2022-05-27
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信