MD5 SHA1 加密字符串 在winform web下使中英文一致

来源:互联网 发布:李小龙技击术软件 编辑:程序博客网 时间:2024/05/16 06:03

经过本人测试,下面的方法在 winform、web 中对中英文加密的字符串一致。

 

 

winform 下实现 md5

 

        private void btnMD5_Click(object sender, EventArgs e)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            //byte[] result = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(this.txtMD5Ori.Text.Trim())); // 中英文转换与web不同
            byte[] result = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(this.txtMD5Ori.Text.Trim())); // 中英文转换与web相同
            string str = "";
            for (int i = 0; i < result.Length; i++)
            {
                str += string.Format("{0:x2}", result[i]); // 此处的x2,和写x得出的结果不一样,应该用x2就对了。
            }
            this.txtMD5Tran.Text = str.ToUpper();
            this.lblMD5size.Text = str.Length.ToString();
        }

 

web 下实现 md5

 

this.lblMD5.Text = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtMD5Ori.Text.Trim(), "MD5");

 

 

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

 

wiform 下实现 SHA1

 

private void btnSHA1_Click(object sender, EventArgs e)
        {
            SHA1 sha1 = new SHA1CryptoServiceProvider();
            //byte[] result = sha1.ComputeHash(System.Text.Encoding.Default.GetBytes(this.txtSHA1Ori.Text.Trim()));
            byte[] result = sha1.ComputeHash(System.Text.Encoding.UTF8.GetBytes(this.txtSHA1Ori.Text.Trim()));
            string str = "";
            for (int i = 0; i < result.Length; i++)
            {
                str += string.Format("{0:x2}", result[i]); // 此处的x2,和写x得出的结果不一样,应该用x2就对了。
            }
            this.txtSHA1Tran.Text = str.ToUpper();
            this.lblSHA1Size.Text = str.Length.ToString();
        }

 

web 下实现 SHA1

 

this.lblSHA1.Text = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtSHA1Ori.Text.Trim(), "SHA1");

 

 

原创粉丝点击