-
2021-05-27 07:58:53
普遍认为MD5是很安全,因为暴力破解的时间是一般人无法接受的。实际上如果把用户的密码MD5处理后再存储到数据库,其实是很不安全的。因为用户的密码是比较短的,而且很多用户的密码都使用生日,手机号码,身份证号码,电话号码等等。或者使用常用的一些吉利的数字,或者某个英文单词。如果我把常用的密码先MD5处理,把数据存储起来,然后再跟你的MD5结果匹配,这时我就有可能得到明文。比如某个MD5破解网站http://www.cmd5.com/default.aspx,所以现在大多数网站密码的策略是强制要求用户使用数字大小写字母的组合的方式提高用户密码的安全度。
更多相关内容 -
SHA1和MD5安全性探讨
2018-08-23 14:42:40探讨这个话题是因为山东大学的王小云教授通过碰撞法攻破了SHA1和MD5算法。其成果已经被Crypto大会中的科学家所认可。 SHA和MD系列算法是一种基于散列算法的单向加密算法,也就是说明文一经加密(散列),密文就不...探讨这个话题是因为山东大学的王小云教授通过碰撞法攻破了SHA1和MD5算法。其成果已经被Crypto大会中的科学家所认可。
SHA和MD系列算法是一种基于散列算法的单向加密算法,也就是说明文一经加密(散列),密文就不可以再被恢复为明文。一般用于数字签名和简单认证。
什么是散列呢?就是所谓的数字指纹。散列将任意长度的数据散列成定长的数据。这个定长的数据就是原始数据的摘要(指纹)。不同数据散列出来的指纹永远不同,而相同数据散列出来的指纹永远相同(理论上)。而且永远无法从散列后的数据恢复原始数据。
散列的安全性是基于概率以及实际计算机能力的理论。因为,定长数据永远存在一个范围。这个范围就是其安全性的瓶颈。因为现在的计算机技术无法使用穷猜法测试每一个数据,所以在概率上认为散列出来的数据是独一无二的。(如果要完成MD5原始数据的穷猜法测试或者找出相同指纹但不同明文的数据大概需要3亿年)
王教授的理论之所以能轰动全世界。特别是将全世界公认的MD5的安全性置之死地。是因为她发明了一种基于算法本身漏洞的算法。将测试时间极大减少,可在极短的时间内,就能找出一个指纹相同但明文不同的数据来。这就破坏了安全性的基点。
但是,即使MD5的算法被攻破,但其并不一定变得不安全。
王教授的碰撞法虽然能找出指纹相同的另一个数据。但这另一个数据的内容是不确定的。
在许多场合,MD5和SHA1被用来实现数字签名,特别多的是签名一段人类文章或字符串。这些文章和字符串是被人类能够直接理解的信息。比如说签名电子邮件,签名交易信函等等。在这些场合中。MD5和SHA1还是安全的。其原因就是因为碰撞法无法确定那另一个数据的内容。
比如说,在一电子邮件中,明文是 Hello,how are you?,经过MD5签名后指纹数据为A.虽然碰撞法能找到指纹数据也为A的另一段数据。但其内容只有极小的可能性也是一段人类可以理解的信息,比如说 Fuck you!,而更多的是一段乱码。这样的信息人类一眼就能识别出来其被破坏过。那也就不存在安全性丧失后的损失了。
所以说,如果不能使用特定数据来伪造签名的话,就不存在安全性丧失的问题。因此,MD5和SHA1算法在一些场合中还是安全的。
-
我们常用的MD5加密真的安全吗
2020-08-02 21:04:49常用的加密方式就是MD5了,它可以将任意长度的输入串经过计算得到固定长度的输出,而且只有在明文相同的情况下,才能等到相同的密文,并且这个算法是不可逆的,即便得到了加密以后的密文,也不可能通过解密算法反算...我们平常做网站开发,注册用户保存用户的密码一般都是要求加密的,不然数据库数据被窃取,用户的密码丢失是一个很可怕的事情。
常用的加密方式就是MD5了,它可以将任意长度的输入串经过计算得到固定长度的输出,而且只有在明文相同的情况下,才能等到相同的密文,并且这个算法是不可逆的,即便得到了加密以后的密文,也不可能通过解密算法反算出明文。
但是这样做真的就安全了吗?
123456
生成的MD5就是e10adc3949ba59abbe56e057f20f883e
这是不会变的这就造成了可以使用暴力破解的窘境,网上在线的破解网站很多,如:
既然这样使用不行有风险,那么就需要使用盐值加密,加入一个随机盐
123456
加上随机盐生成的MD5就是$apr1$qq123456$hcsaDXtSzVW4afSMsV6Ea1
再次去在线解密网站尝试解密,结果失败
只要我们的随机盐不泄露,被解密的风险就大大降低了。还是有风险,这个时候就可以使用spring提供的MD5加密了,他每次生成的MD5都是随机的,保证了绝对的安全性
使用matches方法可以知道原字符与加密后的密文是否匹配
-
md5加密安全吗
2018-04-10 13:01:10一、MD5科普:Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer ...一、MD5科普:
Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)。
上面的介绍来自于 百度百科
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
MD5算法具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。
二、MD5安全吗?
MD5理论上还是安全的,毕竟人家号称是不可逆算法。但是,目前网上先了一些神器撞库网站,把所有密码列举出来,然后去比对的暴力破解法,虽然笨重,但是确实很有效。
三、如何增加自己网站原有MD5密码的复杂度?
1、 因为网站原先采用的MD5加密,所有寻思着是不是可以再来一层MD5加密就安全了?
开始干活,我用PHP实现的
随便找个撞库网站
一层和两层MD5加密都被瞬间秒杀了。
2、既然撞库那么可怕,咱们就动手改改吧。具体实现是把原有MD5字符串倒置,再MD5一次试试:
上面已经识别不出来了。
具体测试代码:
代码简单,主要还是看自己怎么重组MD5后的密码。<?php header("Content-type: text/html; charset=utf-8"); function reEncrypt($str){ return md5(strrev($str)); } echo "原密码:1233211234567"; echo "<br>"; echo "一层MD5加密:".(md5("1233211234567")); echo "<br>"; echo "两层MD5加密:".(md5(md5("1233211234567"))); echo "<br>"; echo "加强版:".(reEncrypt(md5("1233211234567"))); echo "<br>"; ?>
-
MD5真的安全吗?
2017-07-13 21:54:26最近看到公司的项目有很多安全问题,所以就相应的寻找一写解决办法,其中有一块涉及到MD5的,就去百度了一下MD5,今天跟其他朋友谈论安全问题又提到了MD5,所以就我了解的东西写一篇MD5相关的文章,也许大家仔细想都... -
MD5加密原理及安全性分析.pdf
2009-12-14 13:02:59MD5加密原理及安全性分析.pdfMD5加密原理及安全性分析.pdf -
js md5加密插件
2020-09-27 15:56:00在web前端js中使用md5加密,可以有效的保障信息在传向后端服务器过程...由于md5加密的不可破解性,相对来说md5方式的加密还是很安全的。这篇博文就来说一说,在web前端,如何使用原生js(javascript)对信息进行md5加密。 -
数据完整性验证-MD5哈希算法的安全性
2018-04-09 23:37:04最近文件完整性校验由MD5变成了sha256, 对于选择sha256这个hash算法的原因从网上找了一些资料。一句话概括:sha256更加安全一些。http://bobao.360.cn/learning/detail/564.htmlMD5哈希算法使用比较广泛,很多年前就... -
用MD5技术构建高安全性电子商务系统 (2002年)
2021-04-28 10:52:27在分析了当前电子商务中的安全问题基础上,深入探讨了采用MD5算法保证电子商务安全性的理论可行性和实现机制。MD5的高位加密、单向性和单一性等优点,使其无论在保证数据在传输过程中不被窃取,还是在防止交易双方的不... -
双向md5加密hex_md5(hex_md5(hex_md5(adminUserPass))+admijs前端加密提交用户名密码
2021-03-08 15:30:33因项目需要结合Thinkphp做了一个双向md5加密的登录,这里后台php代码就不说了,贴一下前端加密提交密码数据库存入的两次md5加密的密码,前端提交的是hex_md5(hex_md5(hex_md5(adminUserPass))+adminUserVer),php部分... -
EAP_MD5协议的安全性分析与改进
2021-03-11 20:07:27EAP_MD5协议的安全性分析与改进 -
EAP-MD5协议的安全性分析与改进
2021-03-05 19:11:01EAP-MD5协议的安全性分析与改进 -
MD5加密.zip
2019-09-05 16:55:21MD5加密所需jar包,MD5是对用户访问密码在数据库的一个加密,提升数据库用户的安全性 -
安全架构-md5算法介绍
2020-12-21 14:09:02二、特点三、作用四、应用场景4.1 一致性验证4.2 数字签名4.3 安全访问认证五、md5破解 一、md5是什么? MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个... -
MD5算法加密文件(网络安全课程设计)
2018-07-30 16:51:48大三的一门课程internet/网络安全课程设计MD5算法实现的一个简单的加密文件 -
MD5流程以及安全性分析,MD5加盐,MD6,笔记
2018-04-23 15:51:46简介MD5适用于数据完整性校验的。将任意长度的字节串(所以是基于底层的二进制串的),映射成为一个128位的大整数2^128种可能性。同样的内容经过md5,会得到同样的128位码。本质上是散列算法,有损的信息压缩,并且是... -
对于md5加盐安全性的理解
2018-12-17 14:29:19安全加密的MD5加盐操作,盐,添加在菜品中的佐料,让口味更精彩丰富。同样,加盐操作是为了让密码更为复杂,保密性更强。一般而言,“盐”指的是计算机动态生成的随机码,这个随机码会与密码一起被MD5进行散列计算,... -
.Net Core Md5加密整理
2019-05-23 15:18:24一、.Net Core中Md5使用说明 .Net Core中自带Md5加密处理,使用方法和 .Net Framework中相同 所在命名空间 using System.Security.Cryptography; 二、使用MD5 类 方式1. //32位大写 using (var md5 = ... -
md5加密算法 C语言(经过测试验证完整版)
2019-01-12 14:05:34md5加密算法 C语言(经过测试验证完整版) 经过调试验证,与工具结果一致 MD5信息摘要算法(英语...2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。 -
天涯明月刀MD5校验器V1.0免费绿色版
2019-07-28 04:28:24天涯明月刀md5校验器是一款简单易于...天涯明月刀MD5校验器使用说明: 1、为了确保您在官网下载的客户端和补丁包的数据准确性、安全性、完整性、请通过“浏览”选择下载的文件,并点击”计算“ 2、将显示的校验结果 -
数据安全之MD5、SHA-1、CRC32区别
2017-02-23 18:04:31crc32 — 计算一个字符串的 crc32 多项式 生成 string 参数的 32 位循环冗余校验码多项式……: 这句话从英文翻译过来的,不正确,准确的说...这个函数的功能类似于md5算法、sha1算法加密。这个函数的使用过程中,需 -
MD5加密解密
2018-05-25 14:53:27自定义MD5加密字符,保证数据的安全性和完整性,以防止被"篡改 -
md5账号密码加密
2017-12-28 17:24:10android 开发 通过MD5对我们的账号 密码进行编制增加安全性 -
CRC32、MD5、SHA1算法校验介绍
2018-10-14 18:15:43CRC32、MD5和SHA1是目前用来校验文件信息真实性的主要手段,使用这些校验算法可以发现保存或传输的信息是否受到损坏或篡改,防止文件或信息被恶意篡改。下面将分别介绍这几种校验算法。 1、CRC32 CRC全称为... -
SHA 加密是什么( sha1 和 MD5 的区别 )
2018-12-10 09:22:52安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产... -
Md5Util.java
2021-01-18 15:37:59安卓md5加密工具,使用此类可以对密码进行加密,提高密码安全性。 -
2.请求安全-- MD5的必要性以及实际应用场景
2015-08-21 12:12:23MD5的必要性以及实际应用场景前言MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍... -
SHA1算法与MD5算法的区别
2017-11-22 19:38:45安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。 -
MD5加密
2022-01-23 10:24:25: 对敏感数据加密后, 存入关系型数据库 , 校验时 , 使用相同的加密算法加密 , 进行校验 , 加密数据相同时 , 加密后的数据也相同 , 对于敏感的数据来说是不安全的 , MD5可以使用加盐的方式来提高数据的安全性. ...