新人冒泡,打今起在园子里算是开博了,先来写点关于基础性的东西 为以后的写其他的文章做准备。

今天就先来说说MD5加密与在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位的值即可。

本文出自 低调码农的笔记簿 http://www.cnblogs.com/webconfig/articles/3620707.html 转载请注明出处,如有谬误不当之处,欢迎指正拍砖,不胜感谢!!

ASP.NET中的MD5加密的更多相关文章

  1. asp.net中实现MD5加密、解密的方法

    这个MD5加密.解密的方法会使用即可. 使用时的代码备忘:Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile(& ...

  2. 如何在ASP.Net中实现RSA加密

    在我们实际运用中,加密是保证数据安全的重要手段.以前使用ASP时,对数据加密可以使用MD5和SHA1算法,这两种算法虽然快捷有效,但是无法对通过它们加密的密文进行反运算,即是解密.因此需要解密数据的场 ...

  3. ASP.NET中几种加密方法

    下面就是ASP.NET中几种加密方法.加密算法有两种,也就是上面提到的MD5和SHA1,这里我举的例子是以MD5为例,SHA1大致相同,只是使用的类不一样. MD5的全称是Message-Digest ...

  4. 简单讲解iOS应用开发中的MD5加密的相关使用<转>

    这篇文章主要介绍了iOS应用开发中的MD5加密的相关使用,示例代码基于传统的Objective-C,需要的朋友可以参考下 一.简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POS ...

  5. 简单讲解iOS应用开发中的MD5加密的相关使用

      简单讲解iOS应用开发中的MD5加密的相关使用   作者:文顶顶 字体:[增加 减小] 类型:转载 时间:2015-12-19 我要评论 这篇文章主要介绍了iOS应用开发中的MD5加密的相关使用, ...

  6. java中使用MD5加密的算法

    MD5,全名Message Digest Algorithm 5,中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.以下是JAVA语言中使用MD5加密的工具 ...

  7. Jmeter 请求参数中包含 MD5 加密的密码

    如何在jmeter中对参数进行加密 使用工具:java+myeclipse 让开发将他的加密类从eclipse中导出来打成jar包,放在jmeter安装文件夹lib文件夹中%JMETER HOME%\ ...

  8. JS中使用MD5加密

    下载 MD5 使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: < script type="text/javascript" src="md5.j ...

  9. java中使用MD5加密技术

    在项目中经常会对一些信息进行加密,现在常用的信息加密技术有:MD5.RSA.DES等,今天主要说一下,md5加密,以及如何在java代码根据自己的业务需求使用md5. MD5简介: MD5即Messa ...

随机推荐

  1. Dede 列表文章 自增

    在{dede:arclist/}这个标签中有个[field:global.autoindex/],是从0开始自增,如果我们想自定义一个数值,比如自定义从2开始.那么就可以写成下面代码: [field: ...

  2. poj2255 (二叉树遍历)

    poj2255 二叉树遍历 Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   Descripti ...

  3. JS简易时钟

    HTML <div id="clock"> <span></span>:<span></span>:<span&g ...

  4. ubuntu下MySQL安装配置及基本操作

    在linux下安装方法: 分为四种:一: 直接用软件仓库自动安装(如:ubuntu下,sudo apt-get install mysql-server; Debain下用yum安装): 二:官网下载 ...

  5. Red Hat TimesTen安装记录

    1:内核参数修改 # vi /etc/sysctl.conf kernel.sem= #sysctl –p 备注:此安装过程为测试环境,具体参数修改要参考TimesTen官方文档. 2:创建用户及组信 ...

  6. BAT之间的区别(学点网页编程,然后开始研究)

    A: 阿里不就是靠网页起家的吗? T: 腾讯靠客户端. B: 百度是靠网页背后的算法技术支持- 最近网页技术又发布了很多新功能,而现在网页功能也已经很强大了. 不知道自己是不是老了,总觉得不喜欢网页( ...

  7. java浮点类型计算

    java浮点类型需要采用java.math.*这个工具包,这样的计算结果才是我们想要的.呵呵 import java.math.BigDecimal; import java.text.NumberF ...

  8. Notepad++去除代码行号的几种方法

    Notepad++去除代码行号的几种方法 (转自:http://hi.baidu.com/beer_zh/item/e70119309ee587f2a8842892)问:在网页中复制代码时,常常遇到高 ...

  9. 32位vs2010的项目如何在64位系统上运行

    64位注册 1. 关闭Visual Studio.2. 在Visual Studio Tools目录,以管理员身份运行Visual Studio Command Prompt (2010),[注:这个 ...

  10. HDFS基础和java api操作

    1. 概括 适合一次写入多次查询情况,不支持并发写情况 通过hadoop shell 上传的文件存放在DataNode的block中,通过linux shell只能看见block,看不见文件(HDFS ...