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

     .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

作者: 自由、创新、研究、探索……
出处:http://shanyou.cnblogs.com/
版权:本文版权归作者和博客园共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://www.openbeta.cn
posted @ 2007-01-31 10:27 geff zhang 阅读(860) 评论(2)  编辑 收藏 网摘

  回复  引用  查看    
#1楼2007-01-31 14:00 | 大剑师      
这大概只能叫做编码
  回复  引用  查看    
#2楼[楼主]2007-01-31 17:18 | 自由、创新、研究、探索……      
@大剑师
说的对,应该叫编码




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 635476




相关文章:

相关链接: