zoukankan      html  css  js  c++  java
  • js 异或加密

         // 按位异或 加密
            var posNo = 'C0041710190002'
            // 特殊字符不进行 与或 加密 (因为A,a,Z,z,转换后会变成符号,不方面用户输入,也可自己定义)
            var special = {
                'A': 1,
                'a': 1,
                'Z': 1,
                'z': 1
            }

            console.log('xor: ', bitEncrypt(posNo))  // xor:  B1150601081113

            function bitEncrypt (data) {
                var data = data || ''
                var arr = data.split('')
                
                var result = arr.map(function (item) {
                    if (!special[item]) {
                        return xor(item)
                    } else {
                        return item
                    }
                })
                return result.join('')
            }

            function xor(msg) {
                var isNum = /[0-9]/.test(msg)
                if (isNum) {
                    return +msg ^ 1
                } else {
                    var num10 = msg.charCodeAt()
                    var numXOR = num10 ^ 1
                    return String.fromCharCode(numXOR)
                }
            }
  • 相关阅读:
    《Java编程思想》笔记 第二十章 注解
    《Java编程思想》笔记 第十九章 枚举类型
    《Java编程思想》笔记 第十七章 容器深入研究
    一个关于Java 多线程问题的知识点
    Tomcat 部署2个项目,只有一个可以访问的解决方案
    抄书(Copying Books, UVa 714)
    Checker Challenge
    Case of the Zeros and Ones
    Tom and paper
    不规则棋盘问题
  • 原文地址:https://www.cnblogs.com/gavin007/p/7908724.html
Copyright © 2011-2022 走看看