Cryptojs中的AES-128-CBC加密

发布于 2025-02-01 16:49:59 字数 590 浏览 1 评论 0原文

我正在尝试使用cryptojs在PHP中创建的以下加密功能转换下面,但它并未返回相同的加密文本。谁能帮我这样做?

PHP功能:

function encrypt($data,  $key)
{
    $algo = 'AES-128-CBC';

    $iv = substr($key, 0, 16);
    $cipherText = openssl_encrypt(
        $data,
        $algo,
        $key,
        OPENSSL_RAW_DATA,
        $iv
    );
    $cipherText = base64_encode($cipherText);

    return $cipherText;
}

加密js功能

var key = "abcdefghijklmnopqrstuvwx123456";
var IV = key.substr(0, 16);
var encrypted = CryptoJS.AES.encrypt("ABC", key, { mode: CryptoJS.mode.CBC, iv: IV });

I am trying to convert below encryption function created in PHP using CryptoJS but it is not returning same encrypted text. Can anyone help me doing this?

PHP function:

function encrypt($data,  $key)
{
    $algo = 'AES-128-CBC';

    $iv = substr($key, 0, 16);
    $cipherText = openssl_encrypt(
        $data,
        $algo,
        $key,
        OPENSSL_RAW_DATA,
        $iv
    );
    $cipherText = base64_encode($cipherText);

    return $cipherText;
}

CryptoJS Function

var key = "abcdefghijklmnopqrstuvwx123456";
var IV = key.substr(0, 16);
var encrypted = CryptoJS.AES.encrypt("ABC", key, { mode: CryptoJS.mode.CBC, iv: IV });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文