zoukankan      html  css  js  c++  java
  • 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

    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    bzoj 3876: [Ahoi2014&Jsoi2014]支线剧情【有上下界有源汇最小费用最大流】
    bzoj 2055: 80人环游世界【有上下界有源汇最小费用最大流】
    bzoj 2406: 矩阵【二分+有源汇上下界可行流】
    bzoj 4873: [Shoi2017]寿司餐厅【最大权闭合子图】
    bzoj 2007: [Noi2010]海拔【最小割+dijskstra】
    bzoj 2039: [2009国家集训队]employ人员雇佣【最小割】
    bzoj 3996: [TJOI2015]线性代数【最小割】
    bzoj 3158: 千钧一发【最小割】
    bzoj 2597: [Wc2007]剪刀石头布【最小费用最大流】
    bzoj 5120: [2017国家集训队测试]无限之环【最小费用最大流】
  • 原文地址:https://www.cnblogs.com/shanyou/p/WebDataEncryption.html
Copyright © 2011-2022 走看看