ASP.net中md5加密码的方法
<%@ Page Language="C#" ContentType="text/html"%>
<%@ Import Namespace="System"%>
<script language="C#" runat="server">
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);
//显示出来
sha1_1.Text="MD5普通加密:"+sResult.ToString()+"<br/>";
//作为密码方式加密
string EnPswdStr=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(source.Text.ToString(),"MD5");
//显示出来
sha1_2.Text="MD5密码加密:"+EnPswdStr+"<br/>";
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>测试</title>
</head>
<body>
<h3>SHA1加密</h3>
<form runat="server">
<asp:label id="sha1_1" runat="server"></asp:label>
<asp:label id="sha1_2" runat="server"></asp:label>
<asp:textbox ID="source" runat="server" TextMode="SingleLine" Text="test" AutoPostBack="true" />
(回车)
</form>
</body>
</html>
ASP.NET中实现对密码的加密
方法一:
public static string Encrypt(string Password, int Format)
{
string str = "";
switch (Format)
{
case 0:
str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password, "SHA1");
break;
case 1:
str = FormsAuthentication.HashPasswordForStoringInConfigFile(Password, "MD5");
break;
}
return str;
}
方法二:
using System;
using System.Security.Cryptography;
using System.IO;
using System.Text;
//再编写函数如下,效果和(方法一)一样
public string MD5(Stream stream)
{
const string HEX_TABLE = "0123456789ABCDEF";
MD5 md5 = new MD5CryptoServiceProvider();
//Calculate MD5 Checksum
byte[] data = md5.ComputeHash(stream);
//convert to string
StringBuilder sb = new StringBuilder();
sb.Length = data.Length * 2;
for (int i = 0; i < data.Length; i++)
{
sb[i * 2] = HEX_TABLE[data[i] >> 4];
sb[i * 2 + 1] = HEX_TABLE[data[i] & 0xF];
}
return sb.ToString();
}
public string MD5(string s)
{
byte[] data = ASCIIEncoding.ASCII.GetBytes(s);
MemoryStream stream = new MemoryStream(data);
//stream.Write(data,0,data.Length);
return MD5(stream);
}