asp.net实现md5加密

 MD5加密简单的说就是把一段明文 通过某种运算方式 求出密文。例如:明文为:abcdefg 通过一些列运算 得到 密文 7ac66c0f148de9519b8bd264312c4d64

 
它具有两个特性:1.无碰撞,2.不可逆。
 
无碰撞是指: 7ac66c0f148de9519b8bd264312c4d64 这段密文 只能由 abcdefg 这段明文得到,除此之外其他的 明文加密后 其值 绝对不会等于 7ac66c0f148de9519b8bd264312c4d64,也就是说 没有那两个明文 加密后 会得到相同的密文。
 
不可逆是指: 明文通过加密后得到密文,而无法通过密文 求出明文。也就是说 当我们知道明文 adcdefg 可以通过加密得到 7ac66c0f148de9519b8bd264312c4d64,但是我们如果知道 某段文字 加密后 得到7ac66c0f148de9519b8bd264312c4d64,却无法算出 7ac66c0f148de9519b8bd264312c4d64这段文字是由谁加密而来的。
 
那么有同学一定会问,具体应该运用在什么地方?
 
一般来说 我们在做网站登录系统的时候 密码都是密文保存的,一般用的都是MD5加密。
 
用户在填写用户名 密码 点击注册之后,我们验证通过,要把用户信息存入数据库的时候,就需要先把用户输入的密码,通过MD5加密的方式,把加密后的密文,存入密码的字段。
 
那么一定有同学会细心的发现,刚刚还提到过 MD5加密是不可逆的,那么用户登录的时候如何判断用户输入的密码是否正确的呢?
 
例如 用户设置的密码 为 abcdefg,而存储的时候 我们存储的是 abcdefg加密过之后得到的值 7ac66c0f148de9519b8bd264312c4d64,那么用户再次登录时 会输入密码abcdefg,我们如何比较两者是否相等?
 
我们无法通过 加密后的值换算出 加密前的值,因此 我们通常的做法是,把用户再次登录时 输入的密码 再次加密 和数据库中 存放的值进行比对,如果相等 则说明输入的密码正确。
 
OK,基本原理和运用场景基本说的差不多了,最后再来说说 在ASP.NET中如何进行MD5加密。
 
在ASP.NET中MD5的加密方式很简单,代码如下:
 
 代码如下:
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5").ToLower();
 
 
需要注意的是,如果MD5加密的时候转换的是小写,那么在验证的时候也要转换成小写,保持统一。另外上述方式为32位的MD5加密方式,如果是16位的 则取32位加密结果的中间16位的值即可。
 
这里还有示例,大家参考一下
 
 
 
 
 代码如下:
/// <summary>
 /// MD5加密
 /// </summary>
 /// <param name="strSource">需要加密的明文</param>
 /// <returns>返回32位加密结果</returns>
 public static string Get_MD5(string strSource, string sEncode)
 {
     //new 
     System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
 
     //获取密文字节数组
     byte[] bytResult = md5.ComputeHash(System.Text.Encoding.GetEncoding(sEncode).GetBytes(strSource));
 
     //转换成字符串,并取9到25位 
     //string strResult = BitConverter.ToString(bytResult, 4, 8);  
     //转换成字符串,32位 
 
     string strResult = BitConverter.ToString(bytResult);
 
     //BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉 
     strResult = strResult.Replace("-", "");
 
     return strResult.ToLower();
 }
 
 

时间: 2024-10-06 06:24:37

asp.net实现md5加密的相关文章

ASP中使用MD5加密字符

加密 下载过动网论坛.或者其他注册程序的用户知道,在用户注册时,系统给注册的密码进行了MD5的加密. 介绍使用方法: 在需要使用MD5加密时,调用MD5.asp文件:<!--#include file="md5.asp"--> 进行字符加密:MD5(加密字符) MD5.asp文件代码:<%Private Const BITS_TO_A_BYTE = 8Private Const BYTES_TO_A_WORD = 4Private Const BITS_TO_A_WO

在ASP中使用MD5加密

加密 在需要使用MD5加密时: -------------------------------------------------------------------------------- <!--#include file="md5.asp"--> md5(加密字符) -------------------------------------------------------------------------------- md5.asp ------------

ASP.Net及Asp中的MD5加密-16位32位

asp.net|加密 asp.net引用内容:public string md5(string str,int code){ if(code==16) //16位MD5加密(取32位加密的9~25字符) { return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16) ; }  else//32位加密 { ret

ASP下使用md5加密注册信息

加密 制作登陆行为时可能需要用到MD5加密用户密码,使用ASP实现这个功能比其他语言稍微麻烦一点,但是也是可行的. 核心代码: <%PrivateConstBITS_TO_A_BYTE=8PrivateConstBYTES_TO_A_WORD=4PrivateConstBITS_TO_A_WORD=32 Privatem_lOnBits(30)Privatem_l2Power(30) PrivateFunctionLShift(lValue,iShiftBits) IfiShiftBits=0T

asp.net实现md5加密_实用技巧

MD5加密简单的说就是把一段明文 通过某种运算方式 求出密文.例如:明文为:abcdefg 通过一些列运算 得到 密文 7ac66c0f148de9519b8bd264312c4d64 它具有两个特性:1.无碰撞,2.不可逆. 无碰撞是指: 7ac66c0f148de9519b8bd264312c4d64 这段密文 只能由 abcdefg 这段明文得到,除此之外其他的 明文加密后 其值 绝对不会等于 7ac66c0f148de9519b8bd264312c4d64,也就是说 没有那两个明文 加密

asp.net中md5加密实现代码

 代码如下 复制代码 public class FormatStr { #region MD5加密 /// <summary> /// MD5加密操作 /// </summary> /// <param name="str">加密的字符串</param> /// <returns></returns> public static string MD5(string str) {  return System.Web

Asp.net 使用MD5加密的一个类

使用命名空间:using System.Web.Security;    public static string setMD5(string str, int code)        {            if (code == 16) //16位MD5加密(取32位加密的9~25字符)             {                return FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5&

技巧应用:ASP.Net中的MD5加密

asp.net|技巧|加密 其实在ASP.Net编程中,不用调用md5.asp来加密数据.在DotNet中有自带的类: System.Web.Security.HashPasswordForStoringInConfigFile() 以下是引用片段:public string md5(string str,int code)  {  if(code==16) //16位MD5加密(取32位加密的9~25字符)  {  return System.Web.Security.FormsAuthent

关于ASP,ASP.NET,VB.NET里的MD5加密函数

asp.net|函数|加密 在ASP中,我们使用过如动网论坛等用的ASP中MD5函数加密出的字符串则如:1165d25d8cd021d5 而在Asp.Net中下面的方法: 代码 System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text,"MD5") 进行MD5加密出来的结果却是:12C403B91165D25D8CD021D5F9B5BB7F 究其原因,是因为,在AS