您的位置:首页 > Web前端 > JavaScript

JavaScript 和asp.net配合编码字符串

2007-01-31 10:27 260 查看
.net 的System.Text.ASCIIEncoding 和System.BitConvertor类配合在服务端加密字符串,客户端使用Javascript解密字符串。代码如下:

<script language="javascript">

/*

==========================================================

This function helps protect the email address from the evil spam-bots

that scan web pages for useful data such as (email addresses).

Instead of using the data directly, the encoded value is stored in the

html and decoded when required.

==========================================================

*/

function decode(ServerEncoded)

{

// The ServerEncoded parameter is a string that contains the encoded data.

// Each character in the ServerEncoded parameter has been converted into

// a two digit number (hex / base16). This function converts the

// series of numbers back into the normal form and returns the

// decoded string to the client

// holds the decoded string

var res = "";

// go through and decode the full input server encoded string

for (i=0; i < ServerEncoded.length;)

{

// holds each letter (2 digits)

var letter = "";

letter = ServerEncoded.charAt(i) + ServerEncoded.charAt(i+1)

// build the real decoded value

res += String.fromCharCode(parseInt(letter,16));

i += 2;

}

//return the new decoded string to allow it to be rendered to screen

return res;

}

/*

==========================================================

This function gets a reference to the server encrypted string and

then decrypts this using the decode() function and sets the

txtDecrypted value to the value return by the decode() function

==========================================================

*/

function GetEmailAndDecode() {

//get the table <A class=iAs style="FONT-WEIGHT: normal; FONT-SIZE: 100%; PADDING-BOTTOM: 1px; COLOR: darkgreen; BORDER-BOTTOM: darkgreen 0.07em solid; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" href="#" target=_blank itxtdid="3146774">element</A>

var txtSvrEncr = document.getElementById('txtServerEncrypted');

var txtJSDecr = document.getElementById('txtDecrypted');

txtJSDecr.value = decode(txtSvrEncr.value);

var txtAllTog = document.getElementById('txtAllTogether');

txtAllTog.value = decode(txtAllTog.value);

}

</script>

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

#region Email Encryption

//if javascript is enabled do the encoding

if (Request.Browser.JavaScript)

{

//do the encryption using the raw email

txtServerEncrypted.Text = System.BitConverter.ToString(

System.Text.ASCIIEncoding.ASCII.GetBytes(

(txtRawEmail.Text))).Replace("-", "");

//do the encryption using the raw email

txtAllTogether.Text = System.BitConverter.ToString(

System.Text.ASCIIEncoding.ASCII.GetBytes(

(txtRawEmail.Text))).Replace("-", "");

}

else

{

//couldnt find javascript so just use normal email

txtServerEncrypted.Text = txtRawEmail.Text;

txtAllTogether.Text = txtRawEmail.Text;

}

#endregion

}

}

具体参见:Simple web based obfuscation
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: