Asp.net 2.0 MD5加密与验证
来源:互联网 发布:斗牛算法口诀 编辑:程序博客网 时间:2024/09/21 08:49
下面这段复制于msdn,它演示了如何进行加密以及对字串进行密码验证的过程。
通常我们在开发过程中,对新建立用户的密码进行MD5加密后存储;而后,用户登陆时,把用户输入的密码再次进行MD5加密后和数据库中存储的加密密码对比,以确认用户身份。
需要注意的是:MD5加密不可逆(解密)。
通常我们在开发过程中,对新建立用户的密码进行MD5加密后存储;而后,用户登陆时,把用户输入的密码再次进行MD5加密后和数据库中存储的加密密码对比,以确认用户身份。
需要注意的是:MD5加密不可逆(解密)。
using System;
using System.Security.Cryptography;
using System.Text;
class Example
...{
// Hash an input string and return the hash as
// a 32 character hexadecimal string.
static string getMd5Hash(string input)
...{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
...{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
// Verify a hash against a string.
static bool verifyMd5Hash(string input, string hash)
...{
// Hash the input.
string hashOfInput = getMd5Hash(input);
// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(hashOfInput, hash))
...{
return true;
}
else
...{
return false;
}
}
static void Main()
...{
string source = "Hello World!";
string hash = getMd5Hash(source);
Console.WriteLine("The MD5 hash of " + source + " is: " + hash + ".");
Console.WriteLine("Verifying the hash...");
if (verifyMd5Hash(source, hash))
...{
Console.WriteLine("The hashes are the same.");
}
else
...{
Console.WriteLine("The hashes are not same.");
}
}
}
// This code example produces the following output:
//
// The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.
// Verifying the hash...
// The hashes are the same.
using System.Security.Cryptography;
using System.Text;
class Example
...{
// Hash an input string and return the hash as
// a 32 character hexadecimal string.
static string getMd5Hash(string input)
...{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
...{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
// Verify a hash against a string.
static bool verifyMd5Hash(string input, string hash)
...{
// Hash the input.
string hashOfInput = getMd5Hash(input);
// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;
if (0 == comparer.Compare(hashOfInput, hash))
...{
return true;
}
else
...{
return false;
}
}
static void Main()
...{
string source = "Hello World!";
string hash = getMd5Hash(source);
Console.WriteLine("The MD5 hash of " + source + " is: " + hash + ".");
Console.WriteLine("Verifying the hash...");
if (verifyMd5Hash(source, hash))
...{
Console.WriteLine("The hashes are the same.");
}
else
...{
Console.WriteLine("The hashes are not same.");
}
}
}
// This code example produces the following output:
//
// The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.
// Verifying the hash...
// The hashes are the same.
- Asp.net 2.0 MD5加密与验证
- ASP.NET MD5加密
- ASP.NET MD5加密
- ASP.NET MD5加密
- ASP.NET MD5加密
- asp.net md5加密
- ASP.NET MD5加密
- asp.net md5加密
- ASp.NET MD5加密
- asp.net md5加密
- ASP.NET MD5加密
- asp.net md5加密
- ASP.NET MD5加密
- MD5加密与验证
- ASP.net实现MD5加密!
- ASP.Net中的MD5加密
- ASP.Net中的MD5加密
- ASP.Net中的MD5加密
- struts-config.xml详解
- 如何将多个文件捆绑成一个可执行文件
- HTS训练数据的更改
- DOS命令大全
- 关于nutch 网页快照的中文问题
- Asp.net 2.0 MD5加密与验证
- arcobjects,arcengine处理自相交对象
- 在.net开发中几个重要的认识误区
- 在 Visual Studio 中将网站项目转换为 Web 应用程序项目
- arcobjects,arcengine中克隆一个对象Clone
- 纪念Nutch0.9安装成功
- Delphi控件开发浅入深出(一)
- Discuz论坛短信群发、动网自动发贴源代码
- Linux 创建文件系统及挂载文件系统流程详解