JS加解密之AES


 

 

demo

复制代码
<script src="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script>
<script>

    alert(aesDecrypt(aesEncrypt("yvioo","wa1234535"),"wa1234535"))

    /**
     * 加密字符串
     * @param str  要加密的字符串
     * @param key  秘钥 
     * @returns {string}
     */
    function aesEncrypt(str, key) {
        var APIFMS;
        try {
            var keyHex_encrypt = CryptoJS.enc.Utf8.parse(key);
            var encrypted = CryptoJS.AES.encrypt(str, keyHex_encrypt, {
                mode: CryptoJS.mode.ECB,
                padding: CryptoJS.pad.Pkcs7
            });
            APIFMS = CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
        } catch (err) {
            console.log('aes 加密 -------------------------');
            console.log(err);
        }
        return APIFMS;
    }

    /**
     * 解密字符串
     * @param str 要解密的字符串
     * @param key  秘钥 
     * @returns {string}
     */
    function aesDecrypt(str, key) {
        var result_value;
        try {
            var keyHex_decrypt = CryptoJS.enc.Utf8.parse(key);
            var decrypted = CryptoJS.AES.decrypt({
                ciphertext: CryptoJS.enc.Base64.parse(str)
            }, keyHex_decrypt, {
                mode: CryptoJS.mode.ECB,
                padding: CryptoJS.pad.Pkcs7
            });
            result_value = decrypted.toString(CryptoJS.enc.Utf8);
        } catch (err) {
            console.log('aes 解密 ------------------------- ');
            console.log(err);
            console.log("解密前数据:" + str);
        }
        return result_value;
    }
</script>
复制代码

 

如果解密出现异常:Error: Malformed UTF-8 data

看下是不是因为密文含有换行符\r\n  如果有要把这种去掉

 

str = str.toString().replace(/\r|\n/ig, "");

 

JAVA加解密之AES:https://www.cnblogs.com/pxblog/p/17070855.html

 

posted @   yvioo  阅读(1284)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-01-28 Linux(Centos)配置vsftp使用账号密码(虚拟用户)登录ftp进行文件上传和修改
2020-01-28 springboot整合阿里云视频点播接口
2020-01-28 HttpServletResponse工具类和HttpServletRequest工具类,前台参数接收方式和后台返回(JSON)数据格式
点击右上角即可分享
微信分享提示