asp.Net中密码md5加密的方法
作者:吕海鹏 文章来源:IT学习网原创 发表时间:2008-09-07 16:56:32
阅读次数:今日:1 本周:1 本月:6 总计:4830

今天想给“深度学习(asp.Net)留言板”实现用户密码的md5功能,翻了一下资料,相对asp超 简单,其实在ASP.Net编程中,不用像asp那样调用md5.asp之类的代码文件来加密数据。在

DotNet中有自带的类:System.Web.Security.HashPasswordForStoringInConfigFile()


稍作整理示例如下:


MD5普通加密方法(这种方法一般不做为用户密码的加密)

<%@ Page Language="C#" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<script runat="server">

   protected void Page_Load(object sender, EventArgs e)

   {

       //获取要加密的字段,并转化为Byte[]数组  

       byte[] data = System.Text.Encoding.Unicode.GetBytes(source.Text.ToCharArray());

       //建立加密服务  

       System.Security.Cryptography.MD5 md5 = new  System.Security.Cryptography.MD5CryptoServiceProvider();

       //加密Byte[]数组  

       byte[] result = md5.ComputeHash(data);

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

       string sResult = System.Text.Encoding.Unicode.GetString(result);

       //显示出来  

       pass_1.Text =  sResult.ToString() ;

   }

</script>


<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

   <title>MD5加密 www.itstudy.cn</title>

</head>

<body>

   <form id="form1" runat="server">

       MD5普通加密:<asp:label id="pass_1" runat="server"></asp:label> <br />

   <asp:textbox ID="source" runat="server" Text="test" AutoPostBack="true" />

(回车)  

   </form>

</body>

</html>


MD5密码加密(这是常用的方法)

<%@ Page Language="C#" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<script runat="server">

   protected void Page_Load(object sender, EventArgs e)

   {

       //作为密码方式加密  

       string EnPswdStr =  

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(source.Text.ToString(),"MD5");

       //显示出来  

       pass_2.Text = EnPswdStr ;


   }


</script>


<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

   <title>MD5加密 www.itstudy.cn</title>

</head>

<body>

   <form id="form1" runat="server">

MD5密码加密:<asp:label id="pass_2" runat="server"></asp:label>  <br />

<asp:textbox ID="source" runat="server" Text="test" AutoPostBack="true" />(回车)  

   </form>

</body>

</html>


当然我们可以写个函数来设定md5 位数

public string md5(string str,int code)  //code 16 或 32

 {

  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";

 }





关键字:asp.net
最后编辑时间:2008-09-07 16:56:32
上一篇: jsp解决illegal to have multiple occurrences of contentType with different values错误
下一篇: asp.net发布网站出错的解决二法