kiinlam
1/29/2015 - 9:56 AM

String Encryption and Decrypt

String Encryption and Decrypt

// 基础知识
parseInt("kiinlam",36); //44655371662 把第一个参数用36进制来看待,解析成10进制
(44655371662).toString(36); //"kiinlam" 将数字转成字符串,36表示数字的基数,即将被转的数字变成36进制

var radix = 16; // 加密基数2-36

// 字符加密
function strEnc(str,radix){
  var val="", code;
  radix = radix || 10;
  for(var i = 0; i < str.length; i++){
      code = str.charCodeAt(i).toString(radix);
    if(val === "") {
      val = code;
    } else {
      val += "," + code;
    }
  }
  return val;
}
var s1 = strEnc('250',radix);
console.log(s1);

// 字符解密
function strDec(str,radix){
  var val="", code;
  radix = radix || 10;
  var arr = str.split(",");
  for( i = 0; i < arr.length; i++) {
      code = String.fromCharCode(parseInt(arr[i],radix));
    val += code;
  }
  return val;
}
console.log(strDec(s1,radix));