ASP.NET中MD5加密

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Security.Cryptography;//最主要的类库是MD5加密中比不可少的类库

 

public string GetString(string text)

{

       //获取加密字段并转化为Byte数组

       byte[] by=System.Text.Encoding.Unicode.GetBytes(text.ToCharArray());//将字符数组转化成字节数组

       //建立加密服务

       MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();

       byte[] bt=md5.ComputeHash(by);//将字节数组加入到MD5中进行加密

       //将加密后的数组转化为字段

       string  bb=System.Text.Encoding.Unciode.GetString(bt);

       //输出加密后的字段

       Response.Write("MD5普通加密:"+res.ToString ()+"<br>");

       //MD5加密密码

       string pwd=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("12345","MD5");

       //显示加密的密码

         Response.Write("MD5密码加密:"+pwd.ToString()+"<br>");

}

 

 

其实在ASP.Net编程中,不用调用md5.asp来加密数据。在DotNet中有自带的类:System.Web.Security.HashPasswordForStoringInConfigFile()

public string md5(string str,int code)
{
if(code==16) //16位MD5加密(取32位加密的9~25字符)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ;
}

if(code==32) //32位加密
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();
}

return "00000000000000000000000000000000"; }

简单的使用

头文件:using System.Web.Security;

初始化数据库里的字段

string strPwd=FormsAuthentication.HashPasswordForStoringInConfigFile(this.tbox_Pwd.Text,"MD5");

MD5解密:

因为MD5是不可逆的,只能用加密后的字符进行比较:

如:

string strPwd=FormsAuthentication.HashPasswordForStoringInConfigFile("123","MD5");//是你加密在在数据库的密码

string pwd="123"//是你将要比较的密码

string pwds=System.web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(pwd,"md5");

if(strPwd=pwds)

{

      resport.write("成功!");

}

 

 

 

展开阅读全文

没有更多推荐了,返回首页