本文分享一個簡單的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加密算法的源碼進行混淆加密,安全性會更上一層樓。