JS加密解密

2021-08-20 18:54:23 字數 2053 閱讀 2512

今日完成階段性目標,心情甚好,再加之中午大快朵頤,把之前忘記的補起來!(寫部落格還是要持之以恆)

1、url加密

function encrypt(str, pwd) 

//pwd可為空,空時預設為1111,考慮到加密的複雜性之後pwd應該更為複雜

pwd = escape(pwd);

if (pwd == null || pwd.length <= 0)

var prand = "";

for (var i = 0; i < pwd.length; i++)

var spos = math.floor(prand.length / 5);

var mult = parseint(prand.charat(spos) + prand.charat(spos * 2) + prand.charat(spos * 3) + prand.charat(spos * 4) + prand.charat(spos * 5));

var incr = math.ceil(pwd.length / 2);

var modu = math.pow(2, 31) - 1;

if (mult < 2)

var salt = math.round(math.random() * 1000000000) % 100000000;

prand += salt;

while (prand.length > 10)

prand = (mult * prand + incr) % modu;

var enc_chr = "";

var enc_str = "";

for (var i = 0; i < str.length; i++) else

enc_str += enc_chr.tostring(16);

prand = (mult * prand + incr) % modu;

}salt = salt.tostring(16);

while (salt.length < 8) salt = "0" + salt;

enc_str += salt;

return enc_str;

}

2、url解密

function decrypt(str, pwd) 

pwd = escape(pwd);

if (str == null || str.length < 8)

if (pwd == null || pwd.length <= 0)

var prand = "";

for (var i = 0; i < pwd.length; i++)

var spos = math.floor(prand.length / 5);

var mult = parseint(prand.charat(spos) + prand.charat(spos * 2) + prand.charat(spos * 3) + prand.charat(spos * 4) + prand.charat(spos * 5));

var incr = math.round(pwd.length / 2);

var modu = math.pow(2, 31) - 1;

var salt = parseint(str.substring(str.length - 8, str.length), 16);

str = str.substring(0, str.length - 8);

prand += salt;

while (prand.length > 10)

prand = (mult * prand + incr) % modu;

var enc_chr = "";

var enc_str = "";

for (var i = 0; i < str.length; i += 2)

return unescape(enc_str);

}

js 加密解密(javascript編碼解碼)

在為了防止亂碼的情況下,有時我們會採用使用js 加密或解密中文字串 下面總結下js 常用到加密解密常用的東東 encodeuri 和encodeuricomponent 方法是將編碼傳遞給瀏覽器的uri 統一資源標識 有效的uri不包括某些字元,如空格,等.這兩個函式將那些特殊字元替換僅為utf 8...

開啟js加密解密研究(一)

傳送門 上面鏈結是一種最基礎的js打包方式,其中對於 eval function p,a,c,k,e,d if replace string e function c 1 while c if k c p p.replace new regexp b e c b g k c return p 1 2...

des vue 加密解密 DES加密 解密

外掛程式描述 des data encryption standard 是發明最早的最廣泛使用的分組對稱加密演算法。des演算法簡介 des data encryption standard 是發明最早的最廣泛使用的分組對稱加密演算法。des演算法的入口引數有三個 key data mode。其中k...