webform1.aspx<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="work080.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>MD5加密的示例</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="0">
<tr>
<td colspan="2" align="center">MD5加密的示例</td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtSource" runat="server" Columns="24" Rows="6" TextMode="MultiLine"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtResult" runat="server" Columns="24" Rows="6" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="MD5加密" />
</td>
<td>
</td>
</tr>
</table>
</div>
</form>
</body>
</html> webform1.aspx.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace work080
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string text = txtSource.Text;
string result = MD5Provider.Hash(text);
txtResult.Text = result;
}
}
} md5provider.csusing System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace work080
{
/// <summary>
/// MD5
/// </summary>
public class MD5Provider
{
private MD5Provider()
{
}
/// <summary>
/// 用MD5算法进行加密哈希
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
public static string Hash(string message)
{
if (string.IsNullOrEmpty(message))
{
return string.Empty;
}
else
{
//创建默认实例
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
//将要加密的字符串按照UTF8格式转换成字节数组
byte[] source = System.Text.Encoding.UTF8.GetBytes(message);
//计算哈希值
byte[] result = md5.ComputeHash(source);
System.Text.StringBuilder buffer = new System.Text.StringBuilder();
for (int i = 0; i < result.Length; i++)
{
//将字节数组中的每个元素转成十六进制形式
buffer.Append(result[i].ToString("X"));
}
return buffer.ToString();
}
}
}
}
|