zoukankan      html  css  js  c++  java
  • AES 加密 解密

    一、前端 AES 加密

    <script type="text/javascript" src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>
    <script>
    const iv = CryptoJS.enc.Utf8.parse('jmZoasZQ55vBZsLB'); //十六位十六进制数作为密钥偏移量
    const key = CryptoJS.enc.Utf8.parse('KlJzsNpKeGyhRLCc'); //十六位十六进制数作为密钥
    
    //加密方法
    function getAes(word) {
        let srcs = CryptoJS.enc.Utf8.parse(word);
        let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
        let hexstr = encrypted.ciphertext.toString();
        hexstr = CryptoJS.enc.Hex.parse(hexstr);
        return CryptoJS.enc.Base64.stringify(hexstr);
    }
    
    console.log(getAes('test2021'));
    </script>

    注意:默认输出是16进制的字符串,需要转成base64格式的字符串才方便后端解密

    二、后端解密(php)

    $method = 'aes-128-cbc';
    $iv = 'jmZoasZQ55vBZsLB';
    $key = 'KlJzsNpKeGyhRLCc';
    
    $decrypted = openssl_decrypt($encrypted, $method, $key, 0, $iv);

    三、php aes 加密

    $method = 'aes-128-cbc';
    $iv = 'jmZoasZQ55vBZsLB';
    $key = 'KlJzsNpKeGyhRLCc';
    
    $encrypted = openssl_encrypt($data, $method, $secret_key, 0, $iv);

    完。

  • 相关阅读:
    构建之法阅读笔记05
    构建之法阅读笔记04
    构建之法阅读笔记03
    学习进度条
    软件工程练习——买书
    软件工程练习——找水王2
    Java作业07
    Java课堂作业06
    读《大道至简》第六章有感
    Java课堂作业05
  • 原文地址:https://www.cnblogs.com/tujia/p/15048785.html
Copyright © 2011-2022 走看看