复制代码代码如下:
<! Doctype html public "-// w3c // dtd xhtml 1.0 transitional // pt" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-bransitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv = "content-type" content = "text /html; charset = gb2312" />
<Title> 字符串加密 </title>
</head>
<Body>
<Script Language = "JavaScript">
<!- Comece
função Encrypt (str, pwd) {
if (pwd == null || pwd.length <= 0) {
alerta ("Por favor, insira uma senha com a qual criptografar a mensagem.");
retornar nulo;
}
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 (SPOs*4) + Prand.Charat (SPOS*5));
var incr = math.ceil (pwd.length / 2);
var modu = math.pow (2, 31) - 1;
if (Mult <2) {
Alert ("O algoritmo não pode encontrar um hash adequado. Escolha uma senha diferente. /Considerações npossíveis devem escolher uma senha mais complexa ou mais longa.");
retornar nulo;
}
var sal = math.round (math.random () * 1000000000) % 100000000;
Prand += sal;
while (Prand.Length> 10) {
Prand = (ParseInt (Prand.Substring (0, 10)) + Parseint (Prand.Substring (10, Prand.Length))). ToString ();
}
Prand = (Mult * Prand + incr) % 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 = (Mult * Prand + incr) % modu;
}
sal = sal.ToString (16);
enquanto (Salt.Length <8) sal = "0" + sal;
Enc_str += sal;
return Enc_str;
}
função descriptografar (str, pwd) {
if (str == null || str.length <8) {
alerta ("Um valor de sal não pôde ser extraído da mensagem criptografada porque é muito curto. A mensagem não pode ser descriptografada.");
retornar;
}
if (pwd == null || pwd.length <= 0) {
alerta ("Por favor, insira uma senha com a qual descriptografar a mensagem.");
retornar;
}
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 (SPOs*4) + Prand.Charat (SPOS*5));
var incr = Math.Round (pwd.length / 2);
var modu = math.pow (2, 31) - 1;
var sal = parseint (str.substring (str.length - 8, str.length), 16);
str = str.substring (0, str.length - 8);
Prand += sal;
while (Prand.Length> 10) {
Prand = (ParseInt (Prand.Substring (0, 10)) + Parseint (Prand.Substring (10, Prand.Length))). ToString ();
}
Prand = (Mult * Prand + incr) % 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 = (Mult * Prand + incr) % modu;
}
return Enc_str;
}
// final ->
</script>
<name de forma = "caixa"> <Center>
<tabela CellPadding = 0 CellSpacing = 0 Border = 0> <tr> <td colspan = 3>
<textarea cols = 40 linhas = 5 wrap = nome virtual = ipt> Bem -vindo ao baidu.com </sexttarea>
</td> </tr>
<TR Hight = 50> <td valign = "top">
<input type = "button" onclick = "document.box.opt.value = Encrypt (document.box.ipt.value, document.box.pwd.value);" value = "加密">
</td> <td align = "Center" valign = "Center">
<input type = "text" name = "pwd" value = "senha">
</td> <td align = "direita" valign = "inferior">
<input type = "button" onclick = "document.box.ipt.value = decrypt (document.box.opt.value, document.box.pwd.value);" value = "解密">
</td> </tr>
<tr> <td colspan = 3>
<texttarea cols = 40 linhas = 5 wrap = nome virtual = opt> </sexttarea>
</td> </tr> </ table>
</central>
</morm>
</body>
</html>
代码 Cópia 之后直接打开即可