webguosai/cryptojs-php-aes

This package is abandoned and no longer maintained. No replacement package was suggested.

php aes cbc加解密

v1.0.1 2021-11-01 03:49 UTC

This package is auto-updated.

Last update: 2024-01-27 06:57:42 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

运行环境

  • php >= 5.6
  • composer

安装

$ composer require webguosai/cryptojs-php-aes

在php中使用

use \Webguosai\AesCBC;

$array = [
    'name1' => '123',
    'name2' => '456'
];
$key   = 'key123';
$iv    = 'iv34567890123456';

//加密
$encode = AesCBC::encrypt($array, $key, $iv); //d235985c278b9a81acb3ab3b89eee069b0609b8680261589a1b8aca6398a93e1

//解密
$data   = AesCBC::decrypt($encode, $key, $iv);

在JS中使用

npm install crypto-js

<script type="text/javascript" src="node_modules/crypto-js/crypto-js.js"></script>
<script>
//加密
function encrypt(array, key, iv){
    let encrypt = CryptoJS.AES.encrypt(array, CryptoJS.enc.Utf8.parse(key),{
        iv:CryptoJS.enc.Utf8.parse(iv),
        mode:CryptoJS.mode.CBC,
        padding:CryptoJS.pad.Pkcs7
    })
    
    return encrypt.ciphertext.toString(CryptoJS.enc.Hex);
}
//解密
function decrypt(encrypt, key, iv){
    encrypt = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Hex.parse(encrypt));
    
    let decrypted = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(key),{
        iv:CryptoJS.enc.Utf8.parse(iv),
        mode:CryptoJS.mode.CBC,
        padding:CryptoJS.pad.Pkcs7
    })

    return decrypted.toString(CryptoJS.enc.Utf8)
}
</script>

打赏

68747470733a2f2f7778342e73696e61696d672e636e2f6d77313032342f303038766f44783367793168366c31617a707779736a333075303134777439682e6a7067 68747470733a2f2f7778322e73696e61696d672e636e2f6d77313032342f303038766f44783367793168366c31617a703576686a3330753031616f6164632e6a7067

License

MIT