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)
                }
            }
  • 相关阅读:
    NOIP2009 pj
    数星星(POJ2352 star)
    洛谷 p3372 模板-线段树 1
    Luogu P1198 [JSOI2008]最大数 线段树
    Bestcoder#92&HDU 6017 T3 Girl loves 233 DP
    NOIP2008pj & luoguP1058 立体图 模拟
    NOIP2003TG 加分二叉树 区间DP
    Redis Jedis lua脚本
    Mac Ideal 常用快捷键
    Mysql慢查询explain
  • 原文地址:https://www.cnblogs.com/gavin007/p/7908724.html
Copyright © 2011-2022 走看看