搜索
bottom↓
回复: 13

分享:MD5加密和sha加密

[复制链接]

出0入4汤圆

发表于 2017-6-15 16:34:07 | 显示全部楼层 |阅读模式
本帖最后由 SCREA 于 2017-6-15 22:00 编辑

MD5加密和sha加密
sha加密原理
Algorithm)又叫安全哈希加密技术,是当今世界最先近的加密算法。主要用于文件身份识别、数字签名和口令加密等。
对于明文信息A,通过SHA1算法,生成一条160位长的识别码B。且明文信息A和识别码B之间同时满足以下条件:
1、对于任意两条不同的明文信息A1、A2,其识别码B1、B2都不相同。
2、无法通过逆向算法由识别码B倒推出明文信息A。
MOONCRM的用户密码采用SHA1加密存储,即服务器上存储的只是
由用户密码生成的识别码,而用户密码本身并没有存储在服务器上。用户输入登陆口令时,系统会根据输入口令生成相应识别码并与系统中所存储的识别码进行比较,如二者一致,则认为口令正确。系统中没有存储用户原始的口令值,即使有人获得口令文件,也无法破解用户登陆密码,确保用户密码绝对安全。

MD5加密原理
Message-Digest泛指字节串(Message)的Hash变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。
  MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。
   MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。
  
MD5是一种不可逆的加密算法 安全性很高 一般在网上用作判断文件完整性
如果一个文件被修改或不完整 算出来的MD5码是和原来不一样的 所以当你害怕下的东西有病毒或木马或不完整 可以用MD5计算器算一下 再和网站上提供的值对比
关于软件很多地方有下的 软件就一个作用 把软件拖进去 然后算出MD5码 自己搜索一下吧
这个基本上是软件内部利用MD5加密导致,本身几乎无效验方法,因为MD5不可以反编译,方法写个过程,或下载MD5文件 调用MD5(PASSWORD)
MD5中的MD代表Message Digest,就是信息摘要的意思,不过这个信息摘要不是信息内容的缩写,而是根据公开的MD5算法对原信息进行数学变换后得到的一个128位(bit)的特征码。

这个特征码有如下特性,首先它不可逆,例如我有一段秘密的文字如:"My Secret Words",经算法变换后得到MD5码(b9944e9367d2e40dd1f0c4040d4daaf7),把这个码告诉其他人,他们根据这个MD5码是没有系统的方法可以知道你原来的文字是什么的。

其次,这个码具有高度的离散性,也就是说,原信息的一点点变化就会导致MD5的巨大变化,例如"ABC" MD5(902fbdd2b1df0c4f70b4a5d23525e932)和"ABC "(多了一空格)MD5(12c774468f981a9487c30773d8093561)差别非常大,而且之间没有任何关系,也就是说产生的MD5码是不可预测的。

最后由于这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的。

所以一般认为MD5码可以唯一地代表原信息的特征,通常用于密码的加密存储,数字签名,文件完整性验证等。
2004年,已经被山东大学的王小云教授破解了。

比如:
2345 两个相加的和再相乘 2+3=5 4+5=9 5*9=45

======================================
http://www.cnblogs.com/block123/p/4915729.html

最后,安全产品不要用开源,即使用,尽量过对应的安全测试

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2017-6-15 21:50:43 | 显示全部楼层
"2345 两个相加的和再相乘 2+3=5 4+5=9 5*9=45",没看懂这个例子和MD5被破解,这两者之间有什么关系

出0入4汤圆

 楼主| 发表于 2017-6-15 21:59:56 | 显示全部楼层
Gallen.Zhang 发表于 2017-6-15 21:50
"2345 两个相加的和再相乘 2+3=5 4+5=9 5*9=45",没看懂这个例子和MD5被破解,这两者之间有什么关系 ...


其实我也,没看懂。  “=====================”之上是复制过来的,想看看有人看懂没-----那句话

出0入0汤圆

发表于 2017-6-15 22:10:58 来自手机 | 显示全部楼层
看半天只是个拷贝来的说明,还以为怎么也有个代码测试呢?

出0入4汤圆

 楼主| 发表于 2017-6-15 22:27:21 | 显示全部楼层
小溪 发表于 2017-6-15 22:10
看半天只是个拷贝来的说明,还以为怎么也有个代码测试呢?

https://www.amobbs.com/thread-5466438-1-1.html

出0入0汤圆

发表于 2017-6-16 00:03:56 | 显示全部楼层
这两个都是信息摘要,类似于crc校验,不是加密

出0入0汤圆

发表于 2017-6-16 01:05:54 | 显示全部楼层
楼主确定md5 被破解了?

出0入663汤圆

发表于 2017-6-16 01:11:25 | 显示全部楼层
就密码学原则来讲,加密算法是应该公开的,试图用不公开的加密算法来提高安全性叫做security through obscurity,往往只是自欺欺人的做法。
安全产品也是同理,被大量专家学者审视过的开源软件,远比没人知道里面藏着多少bug的闭源软件安全。

出0入0汤圆

发表于 2017-6-16 02:07:40 | 显示全部楼层
关注帖子

出0入93汤圆

发表于 2017-6-16 05:26:16 | 显示全部楼层
meirenai 发表于 2017-6-16 01:05
楼主确定md5 被破解了?


我来告诉你,从严格意义上来说,MD5已经被破解了
1、MD5是哈希算法,无法逆推到原始串。但是,居然会存在彩虹表这类玩意,不需要逆推,只需要穷举
2、
MD5是一种不可逆的加密算法 安全性很高 一般在网上用作判断文件完整性
王小云教授可以做到伪造单单依赖MD5的文件完整性,即伪造另一个文件,其文件大小、MD5值都相同,而CRC32、SHA-1均不同。而且,这个还做成了工具,伪造速度很快。

MD5作为一个安全的算法,变成了一个不安全的算法,从这个意义上来说,MD5确实已经被攻破了。不过应对策略也简单得很:加盐
还有,SHA-1算法在王小云的攻击下,也不是传说中那么可靠了,但是这个难度比MD5高太多了。

再说一句,仅仅用MD5判断文件完整性是不行的,百度网盘在这方面就存在的BUG,两个大小相同MD5相同的文件只能传上去一个,另一个秒速上传下载下来确实原来那个,亲自验证,嘿嘿。

出0入93汤圆

发表于 2017-6-16 05:33:13 | 显示全部楼层
meirenai 发表于 2017-6-16 01:05
楼主确定md5 被破解了?
最后由于这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的。
现在我们知道了,如果这个信息足够长,那么具有相同MD5码的可能性非常之高,很容易伪造出来。如果这个信息足够短,就会被彩虹表穷举出来。

出0入663汤圆

发表于 2017-6-16 05:59:51 | 显示全部楼层
meirenai 发表于 2017-6-16 01:05
楼主确定md5 被破解了?

d131dd02c5e6eec4 693d9a0698aff95c 2fcab58712467eab 4004583eb8fb7f89
55ad340609f4b302 83e488832571415a 085125e8f7cdc99f d91dbdf280373c5b
d8823e3156348f5b ae6dacd436c919c6 dd53e2b487da03fd 02396306d248cda0
e99f33420f577ee8 ce54b67080a80d1e c69821bcb6a88393 96f9652b6ff72a70



d131dd02c5e6eec4 693d9a0698aff95c 2fcab50712467eab 4004583eb8fb7f89
55ad340609f4b302 83e4888325f1415a 085125e8f7cdc99f d91dbd7280373c5b
d8823e3156348f5b ae6dacd436c919c6 dd53e23487da03fd 02396306d248cda0
e99f33420f577ee8 ce54b67080280d1e c69821bcb6a88393 96f965ab6ff72a70



根据维基百科,上面这两段数据的MD5都是79054025255fb1a26e4bc422aef54eb4,也就是发生了碰撞,不同的地方仅仅是蓝色的部分,并且有着明显的规律。
这样的MD5是否算是被破解了,你自己判断吧。

出0入0汤圆

发表于 2017-6-16 08:54:36 来自手机 | 显示全部楼层
takashiki 发表于 2017-6-16 05:26
我来告诉你,从严格意义上来说,MD5已经被破解了
1、MD5是哈希算法,无法逆推到原始串。但是,居然会存在 ...

对于exe文件 实际上还是无法做到修改内容让大小和md5都相同吧  文件里很多字节不能乱改

出0入663汤圆

发表于 2017-6-16 15:14:12 | 显示全部楼层
huangqi412 发表于 2017-6-16 08:54
对于exe文件 实际上还是无法做到修改内容让大小和md5都相同吧  文件里很多字节不能乱改 ...

越大的文件就越容易制造碰撞,没加壳的exe里面还是有很多无用空间的,改了关键地方然后在这些位置填补内容来使MD5相同还是有可能的。
实际上已经有恶意软件用MD5漏洞来伪造数字签名证书了:火焰 (恶意软件)
所以现在SSL证书已经全面禁用MD5和SHA1签名算法,MD5目前来讲差不多就是个CRC32级别的玩意,只能做一些简单的校验。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 21:39

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表