本文分享一個(gè)簡(jiǎn)單的JS加密解密方法,適用于JS字符串內(nèi)容加解密。
效果
首先展示一下加密解密效果,如下圖所示:
JS字符串內(nèi)容:“JShaman專注于JS代碼混淆加密”。
加密形式為:“74,83,104,97,109,97,110,19987,27880,20110,74,83,20195,30721,28151,28102,21152,23494”。
加密解密原理
此方法使用非常方便,先定義兩個(gè)字符串屬性方法,分別用于加密解密。
加密時(shí),將字符串中每個(gè)字符轉(zhuǎn)化為字符對(duì)應(yīng)的編碼數(shù)值。
解密時(shí),再將編碼數(shù)值轉(zhuǎn)化成字符。
之后,字符串變量便可直接調(diào)用這兩個(gè)方法進(jìn)行加密解密。
源碼分享
//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);
注:本例僅演示這種加密解密概念,如想增加強(qiáng)度,也可對(duì)數(shù)值進(jìn)行一些運(yùn)算或變化。或者可使用JShaman對(duì)JS加密算法的源碼進(jìn)行混淆加密,安全性會(huì)更上一層樓。