加密算法(md5\sha1)

一、定义:将任意长度的消息压缩到某一固定长度的消息摘要的函数,MD5与SHA1都是Hash算法(散列函数),均属于不可逆算法
二、区别
1、MD5输出128位,SHA1输出是160位
2、MD5比SHA1快
3、安全性:SHA1比MD5更安全
三、MD5、SHA1功能
1、文件校验功能:证明某段信息没有被修改;校验信息是否被更改,又被称为文件指纹
2、消息认证:密码验证,证明你确实知道某个密码
四、MD5、SHA1漏洞
例如我知道'password'的MD5值是5f4dcc3b5aa765d61d8327deb882cf99,那么我就用一个数据库存起来,只要我看到5f4dcc3b5aa765d61d8327deb882cf99,我就知道这个是口令'password‘使用MD5处理之后的值
解决数据库反查办法:针对每一个用户U,生成一个随机值Salt,并且在以后永远保持不变,任意两个用户的盐不能相同。然后当用户设置密码的时候,根据明文密码P,计算MD5(P+Salt)=C。而登录的时候用户也给出明文密码P',服务器拿到之后同样计算MD5(P'+Salt)=C',看C'是否等于C
加盐是为了防止攻击者直接用预先计算好 md5 的字典与密文进行匹配查找明文,因为如果用户密码是字典中的条目,添加随机后缀之后几乎不会出现在字典中,攻击者无从构建彩虹表。
针对每一个用户的盐,比如aaaa,分别根据弱密码明文库,计算MD5(弱密码明文+aaaa)=盐aaaa对应的散列值,然后再用这个密码库去对用户A进行生日攻击。对用户B还得重新根据新的盐bbbb生成密码库
4、数据加密:将用户设置的密码进行md5运算后存储至数据库
5、通讯安全
通讯安全,是对数据校验的一种升级应用。
例子:表单提交时,无论get或post方法,在提交时都会以明码的方式进行提交,很不安全

转自:http://www.jianshu.com/p/ac095511f733

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、定义:将任意长度的消息压缩到某一固定长度的消息摘要的函数,MD5与SHA1都是Hash算法(散列函数),均属于...
    艾斯特Esther阅读 10,573评论 0 5
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 7,868评论 0 6
  • 我写了一首污秽的诗 我把自己埋到土里 我用一个眼神打开生锈的锁 将你像琴一般弹奏
    被窩阅读 988评论 0 0
  • 一生有万念。改变自己命运的,数念而已。 一生读万卷。影响自己一生的,数卷而已。 我们到底能够给学生什么样的影响? ...
    春晓涤生阅读 2,622评论 0 0
  • 亲爱的你们,早啊。我写下这么一封信就像你们来拜访我的屋子,我很开心地端来茶水来招待你们。这个屋子的主人,性别女,爱...
    叠叠不休阅读 3,613评论 12 18