本文分享一个简单的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加密算法的源码进行混淆加密,安全性会更上一层楼。