複製代碼代碼如下:
<! Doctype HTML公共“ - // W3C // DTD XHTML 1.0 Transitional // en”“” http://www.org/tr/tr/xhtml1/dtd/xhtml1-xhtml1-transitional.transitional.dtdd'>
<html xmlns =“ http://www.w3.org/1999/xhtml”>
<頭>
<meta http-equiv =“ content-type” content =“ text /html; charset = gb2312” />
<title>字符串加密</title>
</head>
<身體>
<腳本語言=“ javascript”>
<! - 開始
函數加密(str,pwd){
if(pwd == null || pwd.length <= 0){
警報(“請輸入密碼來加密消息。”);
返回null;
}
var prand =“”;
for(var i = 0; i <pwd.length; i ++){
prand += pwd.CharCodeat(i).toString();
}
var spos = math.floor(prand.length / 5);
var mult = parseint(prand.charat(spos) + prand.charat(spos*2) + prand.charat(spos*3) + prand.charat.charat(spos*4) + prand.charat(spos*5));
var corm = math.ceil(pwd.length / 2);
var modu = math.pow(2,31) - 1;
if(mult <2){
(“算法找不到合適的哈希。請選擇其他密碼。 /nbsible的注意事項是選擇一個更複雜或更長的密碼。”);
返回null;
}
var salt = Math.Round(Math.random() * 1000000000)%1000000;
prand +=鹽;
while(prand.length> 10){
prand =(parseint(prand.substring(0,10))) + parseInt(prand.substring(10,prand.length)))。 toString();
}
prand =(多 * prand + engr)%modu;
var enc_chr =“”;
var enc_str =“”;
for(var i = 0; i <str.length; i ++){
enc_chr = parseint(str.CharCodeat(i) ^ Math.floor((Prand / modu) * 255));
if(enc_chr <16){
ENC_STR + =“ 0” + ENC_CHR.TOSTRING(16);
} else enc_str += enc_chr.tostring(16);
prand =(多 * prand + engr)%modu;
}
鹽=鹽。
而(鹽。長度<8)鹽=“ 0” +鹽;
enc_str +=鹽;
返回enc_str;
}
功能解密(str,pwd){
if(str == null || str.length <8){
(“鹽值無法從加密消息中提取,因為它的長度太短了。無法解密該消息。”);
返回;
}
if(pwd == null || pwd.length <= 0){
警報(“請輸入一個密碼來解密消息的密碼。”);
返回;
}
var prand =“”;
for(var i = 0; i <pwd.length; i ++){
prand += pwd.CharCodeat(i).toString();
}
var spos = math.floor(prand.length / 5);
var mult = parseint(prand.charat(spos) + prand.charat(spos*2) + prand.charat(spos*3) + prand.charat.charat(spos*4) + prand.charat(spos*5));
var corm = 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 +=鹽;
while(prand.length> 10){
prand =(parseint(prand.substring(0,10))) + parseInt(prand.substring(10,prand.length)))。 toString();
}
prand =(多 * prand + engr)%modu;
var enc_chr =“”;
var enc_str =“”;
for(var i = 0; i <str.length; i+= 2){
enc_chr = parseint(parseint(str.substring(i,i+2),16) ^ Math.floor((Prand / modu) * 255));
enc_str += string.fromcharcode(enc_chr);
prand =(多 * prand + engr)%modu;
}
返回enc_str;
}
//結束 - >
</script>
<form name =“ box”> <center>
<table cellpadding = 0 cellpacing = 0 border = 0> <tr> <td colspan = 3>
<textarea cols = 40行= 5 wrap =虛擬名稱= ipt>歡迎訪問baidu.com </textarea>
</td> </tr>
<tr高度= 50> <td valign =“ top”>
<input type =“ button” onclick =“ document.box.opt.value = encrypt(document.box.ipt.value,document.box.pwd.value);”值=“加密”>
</td> <td align =“中心” valign =“ center”>
<輸入type =“ text” name =“ pwd” value =“密碼”>
</td> <td align =“ right” valign =“ bottom”>
<input type =“ button” onclick =“ document.box.ipt.value = decrypt(document.box.opt.value,document.box.pwd.value);”值=“解密”>
</td> </tr>
<tr> <td colspan = 3>
<textarea cols = 40行= 5 wrap =虛擬名稱= opt> </textarea>
</td> </tr> </table>
</center>
</form>
</body>
</html>
代碼複製之後直接打開即可