zoukankan      html  css  js  c++  java
  • 简单的JavaScript字符串加密解密

     
    简单的JavaScript字符串加密解密

    1 <div>
    2     <input type="text" id="input" autofocus="autofocus">
    3     <button type="button" onclick="submit()">click</button>
    4 </div>
     1 <script>
     2     // 加密
     3     function encryption(str) {
     4         
     5         let newstr = [];
     6         let number = Math.random()*200; // 0 ~ 接近200
     7         number = Math.trunc(number)  // 0 ~ 199
     8 
     9         for (let i = 0; i < str.length; i++) {
    10 
    11             newstr.push(str.charCodeAt(i) + number);
    12 
    13         }
    14         newstr.push(number)
    15         return     escape(newstr.toString());
    16     }
    17 
    18     // 解密
    19     function decrypt(str) {
    20 
    21         str = unescape(str);
    22         
    23         // 把字符串以逗号切割为数组
    24         let arr = str.split(',');
    25         let number = arr.pop();
    26         
    27         let newarr = [];
    28         arr.forEach(function (item) {
    29             let temp = String.fromCharCode(item - number);
    30             newarr.push(temp)
    31         });
    32 
    33         return newarr.join('');
    34     }
    35 
    36 
    37     function submit() {
    38         var input = document.getElementById('input');
    39         var value = input.value;
    40         
    41         console.log("加密前: ", input.value);
    42 
    43         let a = encryption(value);
    44         console.log("加密后: ", a );
    45         console.log("解密前: "+ a);
    46         
    47         console.log("解密后: ", decrypt(a ));
    48 
    49     }
    50 
    51 </script>

     

  • 相关阅读:
    关于hibernate的缓存使用(转)
    Webservice 实践
    三大电商注册登录表单分析
    网上好文搜集
    git简介
    Python程序中的进程操作--—--开启多进程
    进程的创建和结束
    同步异步阻塞和非阻塞
    进程的并行和并发
    进程调度
  • 原文地址:https://www.cnblogs.com/zp106/p/10739051.html
Copyright © 2011-2022 走看看