复制代码代码如下:
<!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>
代码复制之后直接打开即可