MD5百度百科

  MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4

简介

  入行没多久,听见别人吹牛MD5加密不可以破解。作为当时菜鸟的我乍一听,这个这么叼的?现在入行一年多了,发现原来MD5就是一行代码的事情,如果不够再加一行呗。

.NET早期MD5加密

  早期的MD5加密的方法,真的只有一段代码。不信请看如下代码:

  System.Web.Security下面的静态类FormAuthentication下中的HashPasswordForStoringInConfigFile方法加密可以对字符串进行想要的算法加密,如果要用的话,直接一段代码即可。但是作为有强迫证的程序猿还是写个方法比较。但是,注意到方法上面的Obsolete类的注释,发现该方法已经过时,过时并不是不能使用而已,如果想简单点的话,这一段代码还是能使用的。

.NET现在的加密方法

  早期的MD5加密方法,已经过时。随着需求越来越大,安全性越来越高,微软推出了MD5类。

推出的MD5类中,改MD5CryptoServiceProvider继承MD5类。该方法主要是通过将字符串转换成操作系统当前的当前 ANSI 代码页的编码的字节序列比特数组。在通过MD5CryptoServiceProvider中的ComputeHash方法计算比特数组的哈希值,最后加计算过后的数组进行字符串重组,也就组成当前的MD5字符串

  总结下,第一种方法比较简单实用,但是过时了,缺乏安全性;第二种方法安全性较高,还以进字符串的进行二次甚至多次加密,拓展性更强(毕竟推出的新方法)。不是说好的三种方法的吗?怎么就总结了?其实想想C#语言进行加密运算的时候,作为开发人员当数据库一堆加密后的字符串怎么办?所以数据库当然也可以进行MD5加密了,为了更好的方便管理程序。之前在公司看到数据库自定义函数可以直接用MD5改变登录密码,修改该函数,发现/* Definition is encrypted. */该函数被加密。之后自己摸索了半个小时,才将百度到的MD5函数进行加密。如下图所示。

   

中间注释掉的为加密或绑定,这样就可以自己写个函数而不给别人使用了O(∩_∩)O哈哈~。

SQLMD5加密

  通过上面的数据库的加密,自己定义了个方法,主要是通过数据库函数返回的值  

  以上就是MD5学习的三种方法,记录下自己的心得。。。。。。。

MD5三种方法的学习总结的更多相关文章

  1. mac学习Python第一天:安装、软件说明、运行python的三种方法

    一.Python安装 从Python官网下载Python 3.x的安装程序,下载后双击运行并安装即可: Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的. MAC 系统一般 ...

  2. 清空StringBuilder的三种方法及效率

    清空StringBuilder的三种方法及效率 大家知道对于字符串频繁拼接是使用stringbuilder.Append方法比使用string+=方法效率高很多,但有时需要清空stringbuilde ...

  3. mysql分表的三种方法

    先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间.根据个人经验,mysql执行一 ...

  4. 【Cocos2d-x游戏开发】解决Cocos2d-x中文乱码的三种方法

    众所周知,Cocos2d-x是一款不错的开源引擎,但是在Cocos2d-x中直接使用中文是无法正确显示的.比如下面的情况: 解决这个问题常用的有三种方法:1.通过转换为UTF-8编码来显示.2.使用i ...

  5. ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)

    http://www.cnblogs.com/zyqgold/archive/2010/11/22/1884779.html 在ASP.NET MVC框架中,将视图中的数据传递到控制器中,主要通过发送 ...

  6. asp.net跳转页面的三种方法比较

    目前,对于学习asp.net的很多朋友来讲,实现跳转页面的方法还不是很了解.本文将为朋友们介绍利用asp.net跳转页面的三种方法,并对其之间的形式进行比较,希望能够对朋友们有所帮助. ASP.NET ...

  7. 设置css三种方法的优先级

    有的小伙伴问了,如果有一种情况:对于同一个元素我们同时用了三种方法设置css样式,那么哪种方法真正有效呢?在下面代码中就出现了这种情况 1.使用内联式CSS设置“超酷的互联网”文字为粉色. 2.然后使 ...

  8. C#发送邮件三种方法(Localhost,SMTP,SSL-SMTP)

    原文:C#发送邮件三种方法(Localhost,SMTP,SSL-SMTP) 最近公司由于一个R&I项目的需要,用户要求在购买产品或出货等一些环节,需要发送邮件提醒或者说每周一让系统自动采集数 ...

  9. CSS实现导航条Tab的三种方法

    前面的话   导航条Tab在页面中非常常见,本文说详细介绍CSS实现导航条Tab的三种方法 布局   根据上图所示,先规定几个定义,上图的模块整体叫做导航,由导航标题和导航内容组成.要实现上图所示的布 ...

随机推荐

  1. 使用std::cout不能输出显示

    在测试一行函数时,出现std::cout不能输出的情况,找不到原因. 1.         只好从main函数第一行,开始测试,直到发现一个函数 o_Initer.ekf_filter(filter, ...

  2. 作业08之《MVC实现用户权限》

    1. 赋给用户一个userid,在用户角色表将用户和角色关联起来,在角色权限表中将角色和权限对应起来,权限表中存储的是左边菜单栏的名称. 2. 在判断权限时,通过用户的userid,获取其角色id,然 ...

  3. 小程序viewflex布局的对齐不对的问题

    index.wxml: <view class="container"> <view class="nav-container"> &l ...

  4. windows server 2008如何显示后缀名

    任意打开一个文件----点击左上角有个[组织]---[文件夹和搜索选项]---[查看]----去掉勾[隐藏已知文件类型的扩展名]---确定即可

  5. 团体程序设计天梯赛-练习集-L1-036. A乘以B

    L1-036. A乘以B 看我没骗你吧 —— 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值. 输入格式: 输入在第一行给出两个整数A和B(-100 < ...

  6. 【剑指Offer】35、数组中的逆序对

      题目描述:   在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P ...

  7. pause、jobs、setitimer(2)、system v ipc(day12)

    一.pause()的使用 #include <unistd.h> int pause(void); 功能:等待信号的到来 返回值: - 错误 errno被设置 只有在信号处理函数执行完毕的 ...

  8. HashMap源码分析笔记(一)

    一.结构 HashMap的结构由数组和链表组成,可以说是一个链表类型的数组: 快速定位方式:key值得hash变换作为数组索引快速找到对应数组块,之后通过hash值对比从链表中查找到匹配项. hash ...

  9. Java Web学习总结(28)——Java Web项目MVC开源框架SSH和SSM比较

    SSH和SSM定义 SSH 通常指的是 Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层. SSM 则指的是 SpringMVC 做控制 ...

  10. Spring Cloud Sleuth(十四)

    作用 再微服务中 服务调用服务很常见.服务中相互调用链路追踪的尤为重要,能够帮助我们再异常时分析出哪个服务出了异常.以及各个链路中相互调用所消耗时间,通过这些数据能够帮助我们分析出各个服务的性能瓶颈 ...