本文分享一个大略的JS加密解密方法,适用于JS字符串内容加解密。
效果
首先展示一下加密解密效果,如下图所示:
JS字符串内容:“JShaman专注于JS代码稠浊加密”。
加密形式为:“74,83,104,97,109,97,110,19987,27880,20110,74,83,20195,30721,28151,28102,21152,23494”。
加密解密事理
此方法利用非常方便,先定义两个字符串属性方法,分别用于加密解密。
加密时,将字符串中每个字符转化为字符对应的编码数值。
解密时,再将编码数值转化成字符。
之后,字符串变量便可直接调用这两个方法进行加密解密。
源码分享
//JS字符串加密
String.prototype.encode = function () {
var bytes = [];
for (var i = 0; i < this.length; i++) {
bytes.push(this.charCodeAt(i));
}
return bytes.join(',');
}
//JS字符串解密
String.prototype.decode = function () {
return String.fromCharCode.apply(null,this.trim().split(","));
}
//JS字符串加密解密示例
var str = "JShaman专注于JS代码稠浊加密";
console.log("原始字符串:",str);
var encode_str = str.encode();
console.log("加密后的字符串:",encode_str);
var decode_str = encode_str.decode();
console.log("解密后的字符串:",decode_str);
注:本例仅演示这种加密解密观点,如想增加强度,也可对数值进行一些运算或变革。或者可利用JShaman对JS加密算法的源码进行稠浊加密,安全性会更上一层楼。