复制代码代码如下:
<! doctype html public "-// w3c // dtd xhtml 1.0 transitional // en"
<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">
<!- ابدأ
وظيفة تشفير (str ، pwd) {
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 reval = math.ceil (pwd.length / 2) ؛
var modu = math.pow (2 ، 31) - 1 ؛
إذا (mult <2) {
تنبيه ("لا يمكن للخوارزمية العثور على تجزئة مناسبة. يرجى اختيار كلمة مرور مختلفة. /اعتبارات npossible هي اختيار كلمة مرور أكثر تعقيدًا أو أطول.") ؛
العودة لاغية.
}
var salt = math.round (math.random () * 1000000000) ٪ 100000000 ؛
Prand += Salt ؛
بينما (prand.length> 10) {
prand = (parseint (prand.substring (0 ، 10)) + parseint (prand.substring (10 ، prand.length))). toString () ؛
}
prand = (mult * prand + reg) ٪ 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) ؛
} آخر enc_str += enc_chr.toString (16) ؛
prand = (mult * prand + reg) ٪ modu ؛
}
الملح = الملح. tostring (16) ؛
بينما (Salt.Length <8) Salt = "0" + Salt ؛
enc_str += ملح ؛
إرجاع 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 reval = 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 += Salt ؛
بينما (prand.length> 10) {
prand = (parseint (prand.substring (0 ، 10)) + parseint (prand.substring (10 ، prand.length))). toString () ؛
}
prand = (mult * prand + reg) ٪ 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 + reg) ٪ modu ؛
}
إرجاع enc_str ؛
}
// end ->
</script>
<form name = "box"> <centre>
<table cellpadding = 0 cellspacing = 0 border = 0> <tr> <td colspan = 3>
<textarea cols = 40 rows = 5 wall = virtual name = ipt> مرحبًا بك في baidu.com </textarea>
</td> </tr>
<tr height = 50> <td valign = "top">
<type type = "button" onClick = "document.box.opt.value = encrypt (document.box.ipt.value ، document.box.pwd.value) ؛" القيمة = "加密">
</td> <td align = "center" valign = "center">
<type type = "text" name = "pwd" value = "password">
</td> <td align = "right" valign = "bottom">
<type 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 rows = 5 wall = virtual name = opt> </swereara>
</td> </tr> </lood>
</center>
</form>
</body>
</html>
代码 نسخ 之后直接打开即可