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. Polymorphism (computer science)

    In programming languages and type theory, polymorphism (from Greek πολύς, polys, "many, much&qu ...

  2. 卸载pycharm再重新安装后,找不到第三方库

    遇到的问题: 看到pycharm出了新的版本,手痒把旧的版本卸载,然后安装了最新的版本,然后问题就来了. 之前通过PIP命令安装的第三方库,import的时候都报错,找不到模块.既然以前能正常使用,现 ...

  3. mysql中int、bigint、smallint 和 tinyint的区别与长度

    各种整形,总结留作参考. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 ...

  4. Day 19 numpy 模块

    numpy 模块(多维数组) import numpy as np arr=np.array([1,2,3,4],[5,6,7,8]) print(arr) #[[1 2 3 4] #[5 6 7 8 ...

  5. vfs:结构体对象

    VFS结构体 super_block 存储一个已安装的文件系统的控制信息,代表一个已安装的文件系统:每次一个实际的文件系统被安装时, 内核会从磁盘的特定位置读取一些控制信息来填充内存中的超级块对象.一 ...

  6. [bzoj4477 Jsoi2015]字符串树 (可持久化trie)

    传送门 Solution 复习下tire( ̄▽ ̄)/ 裸的可持久化tire,我用树剖求了下LCA Code #include <cstdio> #include <cstring&g ...

  7. [Cerc2007]robotic sort

    splay区间反转练手题 #include <iostream> #include <cstdio> #include <algorithm> using name ...

  8. bit ( 比特 )和 Byte(字节)的关系

    一.存储单位的bit 和 Byte1.bit(比特)bit也就是我们不一定听说过的比特,大名鼎鼎的比特币就是以此命名的.它的简写为小写字母 “b” .作为信息技术的最基本存储单元,因为比特实在太小了, ...

  9. GOF23设计模式之代理模式

    GOF23设计模式之代理模式 核心作用:通过代理,控制对对象的访问.可以详细控制访问某个(某类)对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理(即:AOP的微观实现) AOP(Asp ...

  10. CODEVS——T 2618 核电站问题

    http://codevs.cn/problem/2618/  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...