• 前端js几种加密/解密方法


    一、base64加密

    base64的github地址

    示例

    <html>
        <head>
            <title>前端的base64使用方法</title>
        </head>
        <body>
        </body>
    <script>
    var str = "hello";
    var str64 = window.btoa("hello");
    console.log("字符串是:"+str);
    console.log("经base64编码后:"+str64);
    console.log("base64解码后:"+window.atob(str64));
    </script>
    </html>
    
    输出结果

    二、MD5加密(不可逆)

    MD5加密的github地址

    关于MD5:
    MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。

    MD5共有6种加密方法:
    1, hex_md5(value)
    2, b64_md5(value)
    3, str_md5(value)
    4, hex_hmac_md5(key, data)
    5, b64_hmac_md5(key, data)
    6, str_hmac_md5(key, data)

    md5代码下载地址——点此下载

    下载好了用script 标签引入使用

    <script src="md5/md5.js"></script>"></script>
        <script>
            var code = "123456";
            var username = "123456";
            var password = "123456";
            var str1 = hex_md5("123456");
            var str2 = b64_md5("123456");
            var str3 = str_md5("123456");
            var str4 = hex_hmac_md5(code,code);
            var str5 = b64_hmac_md5(username,username);
            var str6 = str_hmac_md5(password,password);
            console.log(str1);            // e10adc3949ba59abbe56e057f20f883e
            console.log(str2);            // 4QrcOUm6Wau+VuBX8g+IPg
            console.log(str3);            // áÜ9IºY«¾VàWò��>
            console.log(str4);            // 30ce71a73bdd908c3955a90e8f7429ef
            console.log(str5);            // MM5xpzvdkIw5VakOj3Qp7w
            console.log(str6);            // 0Îq§;Ý��9U©��t)ï
    </script>
    
    输出结果

    三、sha1加密(不可逆)

    sha1的github地址

    此处没找到sha1.js下载地址,所以在bootcdn中找在线文件到引入,需要的可自行从bootcdn中下载

    <script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>
    <script type="text/javascript">
            var sha1_1 = sha1("mosquito~");
            console.log(sha1_1);
            var sha1_2 = sha1("admin:1001");
            console.log(sha1_2);
    </script>
    
    输出结果

    四、编码和解码字符串

    使用JS函数的escape()和unescape(),分别是编码和解码字符串

    <script type="text/javascript">
          var escape1 =escape("我的名字是:mosquito~");//编码
          console.log(escape1);
          var unescape1 = unescape(escape1); //解码
          console.log(unescape1);
    </script>  
    
    输出结果

    五、AES/DES加密解密

    下载crypto-js.js 引入使用 网址是点击下载

    var aseKey = "12345678"     //秘钥必须为:8/16/32位
    var message = "80018000142";
    //加密
    var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    }).toString();
    console.log(encrypt);    //VKrZlqykem73x8/T2oCfCQ==
    
    //解密
    var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {
      mode: CryptoJS.mode.ECB,
      padding: CryptoJS.pad.Pkcs7
    }).toString(CryptoJS.enc.Utf8);
    console.log(decrypt);    //80018000142
    
    

    【注】:加密的时候必须转成字符串 使用toString。 解密的时候 必须使用utf8的格式

    其他

    RSA加密
    sha256 js 前端加密



    作者:Fairy_妍
    链接:https://www.jianshu.com/p/4c236d83ea04
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    虚心学习、丰富自己
  • 相关阅读:
    JS-Array数组对象
    JS-Math对象
    JS-Date对象
    JS-流程控制汇集
    css笔记
    CSS3-box盒布局
    css笔记
    CSS3中的animation动画
    JS-百钱买百鸡案例-for循环制作
    JS-用js的for循环实现九九乘法表以及其他算数题等
  • 原文地址:https://www.cnblogs.com/tkqq000/p/15030888.html
Copyright © 2020-2023  润新知