zoukankan      html  css  js  c++  java
  • 前端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的格式

  • 相关阅读:
    面向对象
    模块和包
    re、logging日志模块
    银行营业网点管理系统——implt包(CityAreaDaoImpl )
    银行营业网点管理系统——implt包(CityAreaDaoImpl )
    银行营业网点管理系统——implt包(BranchesDaoImpl )
    银行营业网点管理系统——implt包(BranchesDaoImpl )
    银行营业网点管理系统——implt包(BranchesDaoImpl )
    银行营业网点管理系统——dao包(BranchesDao)
    银行营业网点管理系统——dao包(BranchesDao)
  • 原文地址:https://www.cnblogs.com/huandong963/p/13950093.html
Copyright © 2011-2022 走看看