复制代码代码如下:
<! Doctype html public "-// w3c // dtd xhtml 1.0 transisi // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv = "konten-tipe" content = "text /html; charset = gb2312" />
<title> 字符串加密 </iteme>
</head>
<body>
<Bahasa skrip = "javascript">
<!- Mulailah
Function Encrypt (str, pwd) {
if (pwd == null || pwd.length <= 0) {
peringatan ("Harap masukkan kata sandi untuk mengenkripsi pesan.");
kembali nol;
}
var prand = "";
untuk (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) {
Peringatan ("Algoritma tidak dapat menemukan hash yang cocok. Silakan pilih kata sandi yang berbeda. /Pertimbangan NPossible adalah untuk memilih kata sandi yang lebih kompleks atau lebih lama.");
kembali nol;
}
Var Salt = Math.round (Math.Random () * 1000000000) % 100000000;
Prand += garam;
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 = "";
untuk (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;
}
garam = garam. Tostring (16);
while (Salt.length <8) Salt = "0" + Salt;
enc_str += garam;
return enc_str;
}
Function Decrypt (str, pwd) {
if (str == null || str.length <8) {
waspada ("Nilai garam tidak dapat diekstraksi dari pesan terenkripsi karena panjangnya terlalu pendek. Pesannya tidak dapat didekripsi.");
kembali;
}
if (pwd == null || pwd.length <= 0) {
peringatan ("Harap masukkan kata sandi untuk mendekripsi pesan.");
kembali;
}
var prand = "";
untuk (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 garam = parseInt (str.substring (str.length - 8, str.length), 16);
str = str.substring (0, str.length - 8);
Prand += garam;
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 = "";
untuk (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;
}
// end ->
</script>
<Form name = "box"> <Tenter>
<Table CellPadding = 0 CellSpacing = 0 Border = 0> <tr> <td colspan = 3>
<textarea cols = 40 baris = 5 wrap = nama virtual = pt> selamat datang di baidu.com </pextarea>
</td> </tr>
<TR Height = 50> <td valign = "top">
<input type = "tombol" ontClick = "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 = "password">
</td> <td align = "kanan" valign = "Bottom">
<input type = "Tombol" ontClick = "document.box.ipT.value = decrypt (document.box.opt.value, document.box.pwd.value);" value = "解密">
</td> </tr>
<tr> <td colspan = 3>
<textarea cols = 40 baris = 5 bungkus = nama virtual = opt> </pextarea>
</td> </tr> </able>
</penter>
</form>
</body>
</html>
代码 Salin 之后直接打开即可