主页 > 知识库 > asp.net实现md5加密

asp.net实现md5加密

热门标签:征途美甲店地图标注 电销语音机器人型号参数 百度地图怎样做地图标注 400电话如何申请取消 昆明语音电销机器人价格 柳州电销机器人公司 腾讯地图标注手机 浦发电话机器人提醒还款 太原400电话上门办理

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();
 }

您可能感兴趣的文章:
  • ASP.NET中DES加密与解密MD5加密帮助类的实现代码
  • VB.NET实现的MD5加密算法示例【32位】
  • .NET MD5加密解密代码解析
  • asp.net实现的MD5加密和DES加解密算法类完整示例
  • vb 中的MD5加密在asp.net中的实现
  • asp.net中使用cookie与md5加密实现记住密码功能的实现代码
  • ASP.NET中MD5与SHA1加密的几种方法
  • 彻底解决ASP.NET MD5加密中文结果和ASP不一致的问题
  • asp.net下常用的加密算法MD5、SHA-1应用代码
  • asp.net中MD5 16位和32位加密函数
  • ASP.net中md5加密码的方法
  • .net core使用MD5加密解密字符串

标签:德阳 江苏 天门 阳泉 白山 兰州 新疆 张家界

巨人网络通讯声明:本文标题《asp.net实现md5加密》,本文关键词  asp.net,实现,md5,加密,asp.net,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《asp.net实现md5加密》相关的同类信息!
  • 本页收集关于asp.net实现md5加密的相关信息资讯供网民参考!
  • 推荐文章