本文分享一个大略的JS加密解密方法,适用于JS字符串内容加解密。

效果

首先展示一下加密解密效果,如下图所示:

jsphp加密一种简略的JS加密解密办法 GraphQL

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加密算法的源码进行稠浊加密,安全性会更上一层楼。