首页 园地图库文章列表留言下载
现在位置:首页 -> 网络科技 -> 编程相关
ASP.NET中使用MD5和SHA1算法加密
作者:站长 来源:秘密园地 更新日期:2005-8-6 阅读次数
文字 〖 自动滚屏(右键暂停)

ASP.NET中使用MD5和SHA1算法加密
 

  你的主页或者你管理的网站有各种密码需要保护,把密码直接放在数据库或者文件中存在不少安全隐患,所以密码加密后存储是最常见的做法。在ASP.NET中实现加密非常容易。.NET SDK中提供了CookieAuthentication类,其中的HashPasswordForStoringInConfigFile方法可直接使用MD5和SHA1算法。例子如下:

  file: encrypting.aspx

<%@ Page language="c#" Codebehind="encrypting.cs" AutoEventWireup="false" Inherits="encrypting.encrypting" %>
<html><head>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#"></head>
<body>

<form method="post" runat="server">


<asp:TextBox id=TextBox1 runat="server"></asp:TextBox>
<asp:Button id=Button1 runat="server" Text="encrypting"></asp:Button>
Encrypting Password(MD5):
<asp:Label id=MD5 runat="server"></asp:Label>
</form>

</body></html>

file:encrypting.cs

namespace encrypting
{
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Security;
/// <summary>
/// Summary description for encrypting.
/// </summary>
public class encrypting : System.Web.UI.Page
{
 protected System.Web.UI.WebControls.Label MD5;
 protected System.Web.UI.WebControls.Button Button1;
 protected System.Web.UI.WebControls.TextBox TextBox1;

 public encrypting()
 {
  Page.Init += new System.EventHandler(Page_Init);
 }
 protected void Page_Load(object sender, EventArgs e)
 {
  if (!IsPostBack)
  {
   //
   // Evals true first time browser hits the page
   //
  }
 }
 protected void Page_Init(object sender, EventArgs e)
 {
  //
  // CODEGEN: This call is required by the ASP+ Windows Form Designer.
  //
  InitializeComponent();
 }
 /// <summary>
 /// Required method for Designer support - do not modify
 /// the contents of this method with the code editor.
 /// </summary>
 private void InitializeComponent()
 {
  Button1.Click += new System.EventHandler (this.Button1_Click);
  this.Load += new System.EventHandler (this.Page_Load);
 }
 public void Button1_Click (object sender, System.EventArgs e)
 {
  MD5.Text = CookieAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,"MD5");
  //SHA1 use CookieAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text,"SHA1");
 }
}
}

  注意:类CookieAuthentication的namespace是System.Web.Security。
 
ASP.net中md5加密码的方法    
[ 2005-6-6 ] 

<%@ 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>  
 
上篇文章: MD5算法的C#实现
下篇文章:七夕礼物
相关文章:
没有相关文章

版权所有:文摘园地;本站资料均由站长收集,如果有侵权,请立即来信留言告诉我们,以免损害您的权益,谢谢!
Copyright © 2004 文摘园地 http://wwww.mmkey.com All Rights Reserved Power by:HeadWind
粤ICP备05098767号