JS加解密之DES

 

demo

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

    alert(desDecrypt(desEncrypt("yvioo","wa1234535"),"wa1234535"))

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

    /**
     * 解密字符串
     * @param str 要解密的字符串
     * @param key  秘钥 必须大于八位
     * @returns {string}
     */
    function desDecrypt(str, key) {
        var result_value;
        try {
            var keyHex_decrypt = CryptoJS.enc.Utf8.parse(key);
            var decrypted = CryptoJS.DES.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('des 解密 ------------------------- ');
            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加解密之DES 参考:https://www.cnblogs.com/pxblog/p/13813117.html

posted @   yvioo  阅读(1133)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2020-10-21 Tomcat配置使用域名访问项目
2020-10-21 JS获取客户的IP地址
点击右上角即可分享
微信分享提示