复制代码代码如下::
<! DocType html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transsitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<kopf>
<meta http-äquiv = "content-type" content = "text /html; charset = gb2312" />
<title> 字符串加密 </title>
</head>
<body>
<Script Language = "JavaScript">
<!- Beginnen Sie
Funktion Encrypt (str, pwd) {
if (pwd == null || pwd.length <= 0) {
ALERT ("Bitte geben Sie ein Passwort ein, mit dem die Nachricht verschlüsselt wird.");
null zurückkehren;
}
var prand = "";
für (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 ("Algorithmus kann keinen geeigneten Hash finden. Bitte wählen Sie ein anderes Passwort.
null zurückkehren;
}
var salt = math.round (math.random () * 1000000000) % 100000000;
Prand += Salz;
while (prand.length> 10) {
Prand = (ParseInt (Prand.Substring (0, 10)) + ParseInt (Prand.Substring (10, Prand.Length))). toString ();
}
prand = (mult * prand + incher) % modu;
var Enc_chr = "";
var Enc_str = "";
für (var i = 0; i <str.length; i ++) {
ENC_CHR = PARSININT (str.charCodeat (i) ^ math.floor ((prand / modu) * 255));
if (Enc_chr <16) {
Enc_str + = "0" + Enc_chr.toString (16);
} elsec_str += Enc_chr.toString (16);
prand = (mult * prand + incher) % modu;
}
salz = salz.tostring (16);
while (salt.length <8) salz = "0" + Salz;
Enc_str += Salz;
return Enc_str;
}
Funktion entschlüsselt (str, pwd) {
if (str == null || str.length <8) {
ALERT ("Ein Salzwert konnte nicht aus der verschlüsselten Nachricht extrahiert werden, da die Länge zu kurz ist. Die Nachricht kann nicht entschlüsselt werden.");
zurückkehren;
}
if (pwd == null || pwd.length <= 0) {
ALERT ("Bitte geben Sie ein Passwort ein, mit dem die Nachricht entschlüsselt wird.");
zurückkehren;
}
var prand = "";
für (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 salt = parseInt (str.substring (str.length - 8, str. Length), 16);
str = str.substring (0, str.length - 8);
Prand += Salz;
while (prand.length> 10) {
Prand = (ParseInt (Prand.Substring (0, 10)) + ParseInt (Prand.Substring (10, Prand.Length))). toString ();
}
prand = (mult * prand + incher) % modu;
var Enc_chr = "";
var Enc_str = "";
für (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 + incher) % modu;
}
return Enc_str;
}
// Ende ->
</script>
<Formular name = "box"> <center>
<Table CellPadding = 0 Cellspacing = 0 Border = 0> <tr> <td colspan = 3>
<textarea cols = 40 rows = 5 Wrap = virtueller Name = ipt> Willkommen bei Baidu.com </textArea>
</td> </tr>
<Tr Höhe = 50> <td valign = "top">
<input type = "button" onclick = "document.box.opt.value = encrypt (document.ipt.ipt.value, document.box.pwd.value);" value = "加密">
</td> <td align = "center" valign = "center">
<Eingabe type = "text" name = "pwd" value = "password">
</td> <td align = "rechts" valign = "boden">
<input type = "button" onclick = "document.box.ipt.value = decrypt (document.box.opt.value, document.box.pwd.value);" value = "解密">
</td> </tr>
<tr> <td colspan = 3>
<textArea cols = 40 Zeilen = 5 Wrap = virtueller Name = opt> </textArea>
</td> </tr> </table>
</center>
</form>
</body>
</html>
代码 Kopie 之后直接打开即可