• 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)
                }
            }
  • 相关阅读:
    关于解决win10安装mongodb启动服务失败的解决办法
    python3 Debug报错 Traceback (most recent call last)
    centos7 iptable开放端口失败的总结
    操作系统
    大数据医疗
    软件相关
    射频消融仪产品相关
    YY/T 0664—2020《医疗器械软件 软件生存周期过程》 相关
    ISO19001相关
    GMP现场指导相关
  • 原文地址:https://www.cnblogs.com/gavin007/p/7908724.html
Copyright © 2020-2023  润新知