复制代码代码如下:
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv = "content-type" content = "text /html; charset = gb2312" />
<title> 字符串加密 </title>
</head>
<body>
<ภาษาสคริปต์ = "JavaScript">
<!- เริ่มต้น
ฟังก์ชั่นเข้ารหัส (str, pwd) {
if (pwd == null || pwd.length <= 0) {
การแจ้งเตือน ("โปรดป้อนรหัสผ่านที่จะเข้ารหัสข้อความ");
คืนค่า null;
-
var prand = "";
สำหรับ (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 inc = math.ceil (pwd.length / 2);
var modu = math.pow (2, 31) - 1;
ถ้า (mult <2) {
การแจ้งเตือน ("อัลกอริทึมไม่สามารถหาแฮชที่เหมาะสมได้โปรดเลือกรหัสผ่านอื่น /ข้อควรพิจารณาที่เป็นไปได้คือการเลือกรหัสผ่านที่ซับซ้อนหรือนานกว่านั้น");
คืนค่า null;
-
var salt = math.round (math.random () * 1000000000) % 100000000;
prand += เกลือ;
ในขณะที่ (prand.length> 10) {
prand = (parseint (prand.substring (0, 10)) + parseint (prand.substring (10, prand.length))). toString ();
-
prand = (mult * prand + inc) % modu;
var enc_chr = "";
var enc_str = "";
สำหรับ (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);
} esc_str += enc_chr.toString (16);
prand = (mult * prand + inc) % modu;
-
เกลือ = เกลือ tostring (16);
ในขณะที่ (เกลือความยาว <8) เกลือ = "0" + เกลือ;
enc_str += เกลือ;
return enc_str;
-
ฟังก์ชั่น DECRYPT (STR, PWD) {
if (str == null || str.length <8) {
การแจ้งเตือน ("ค่าเกลือไม่สามารถสกัดได้จากข้อความที่เข้ารหัสเนื่องจากความยาวสั้นเกินไปข้อความไม่สามารถถอดรหัสได้");
กลับ;
-
if (pwd == null || pwd.length <= 0) {
การแจ้งเตือน ("โปรดป้อนรหัสผ่านที่จะถอดรหัสข้อความ");
กลับ;
-
var prand = "";
สำหรับ (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 inc = 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 += เกลือ;
ในขณะที่ (prand.length> 10) {
prand = (parseint (prand.substring (0, 10)) + parseint (prand.substring (10, prand.length))). toString ();
-
prand = (mult * prand + inc) % modu;
var enc_chr = "";
var enc_str = "";
สำหรับ (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 + inc) % modu;
-
return enc_str;
-
// end ->
</script>
<form name = "box"> <enter>
<Table CellPadding = 0 cellspacing = 0 border = 0> <tr> <td colspan = 3>
<textarea cols = 40 rows = 5 wrap = ชื่อเสมือน = ipt> ยินดีต้อนรับสู่ baidu.com </textarea>
</td> </tr>
<tr height = 50> <td valign = "top">
<อินพุต type = "ปุ่ม" 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 = "รหัสผ่าน">
</td> <td align = "ขวา" valign = "bottom">
<อินพุต type = "ปุ่ม" onclick = "document.box.ipt.value = decrypt (document.box.opt.value, document.box.pwd.value);" value = "解密">
</td> </tr>
<tr> <td colspan = 3>
<textarea cols = 40 rows = 5 wrap = ชื่อเสมือน = opt> </textarea>
</td> </tr> </table>
</enter>
</form>
</body>
</html>
代码คัดลอก之后直接打开即可