未加星标

Windows基础 散列

字体大小 | |
[系统(windows) 所属分类 系统(windows) | 发布者 店小二05 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏
windows基础 散列

一点号雪与水的相容2小时前

Hash

一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。

简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系

了解了hash基本定义,就不能不提到一些著名的hash算法,MD5 和 SHA1 可以说是目前应用最广泛的Hash算法,而它们都是以 MD4 为基础设计的。那么他们都是什么意思呢?这里简单说一下:

1) MD4

MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年设计的,MD 是 Message Digest 的缩写。它适用在32位字长的处理器上用高速软件实现--它是基于 32 位操作数的位操作来实现的。

2) MD5

MD5(RFC 1321)是 Rivest 于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与 MD4 相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好

3) SHA1 及其他

SHA1是由NIST NSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。SHA-1 设计时基于和MD4相同原理,并且模仿了该算法。

那么这些Hash算法到底有什么用呢?

Hash算法在信息安全方面的应用主要体现在以下的3个方面:

1) 文件校验

我们比较熟悉的校验算法有奇偶校验和CRC校验,这2种校验并没有抗数据篡改的能力,它们一定程度上能检测并纠正数据传输中的信道误码,但却不能防止对数据的恶意破坏。

MD5 Hash算法的"数字指纹"特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。

2) 数字签名

Hash 算法也是现代密码体系中的一个重要组成部分。由于非对称算法的运算速度较慢,所以在数字签名协议中,单向散列函数扮演了一个重要的角色。 对 Hash 值,又称"数字摘要"进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的。而且这样的协议还有其他的优点。

3) 鉴权协议

如下的鉴权协议又被称作"挑战--认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。

以上就是一些关于hash以及其相关的一些基本预备知识。那么在emule里面他具体起到什么作用呢?

什么是文件的hash值呢?

大家都知道emule是基于P2P (Peer-to-peer的缩写,指的是点对点的意思的软件), 它采用了“多源文件传输协议”(MFTP,the Multisource FileTransfer Protocol)。在协议中,定义了一系列传输、压缩和打包还有积分的标准,emule 对于每个文件都有md5-hash的算法设置,这使得该文件独一无二,并且在整个网络上都可以追踪得到。

MD5-Hash-文件的数字文摘通过Hash函数计算得到。不管文件长度如何,它的Hash函数计算结果是一个固定长度的数字。与加密算法不同,这一个Hash算法是一个不可逆的单向函数。采用安全性高的Hash算法,如MD5、SHA时,两个不同的文件几乎不可能得到相同的Hash结果。因此,一旦文件被修改,就可检测出来。

当我们的文件放到emule里面进行共享发布的时候,emule会根据hash算法自动生成这个文件的hash值,他就是这个文件唯一的身份标志,它包含了这个文件的基本信息,然后把它提交到所连接的服务器。当有他人想对这个文件提出下载请求的时候,这个hash值可以让他人知道他正在下载的文件是不是就是他所想要的。尤其是在文件的其他属性被更改之后(如名称等)这个值就更显得重要。而且服务器还提供了,这个文件当前所在的用户的地址,端口等信息,这样emule就知道到哪里去下载了.

一般来讲我们要搜索一个文件,emule在得到了这个信息后,会向被添加的服务器发出请求,要求得到有相同hash值的文件。而服务器则返回持有这个文件的用户信息。这样我们的客户端就可以直接的和拥有那个文件的用户沟通,看看是不是可以从他那里下载所需的文件。

对于emule中文件的hash值是固定的,也是唯一的,它就相当于这个文件的信息摘要,无论这个文件在谁的机器上,他的hash值都是不变的,无论过了多长时间,这个值始终如一,当我们在进行文件的下载上传过程中,emule都是通过这个值来确定文件。

那么什么是userhash呢?

道理同上,当我们在第一次使用emule的时候,emule会自动生成一个值,这个值也是唯一的,它是我们在emule世界里面的标志,只要你不卸载,不删除config,你的userhash值也就永远不变,积分制度就是通过这个值在起作用,emule里面的积分保存,身份识别,都是使用这个值,而和你的 id和你的用户名无关,你随便怎么改这些东西,你的userhash值都是不变的,这也充分保证了公平性。其实他也是一个信息摘要,只不过保存的不是文件信息,而是我们每个人的信息。

那么什么是hash文件呢?

我们经常在emule日至里面看到,emule正在hash文件,这里就是利用了hash算法的文件校验性这个功能了,文章前面已经说了一些这些功能,其实这部分是一个非常复杂的过程,目前在ftp,bt等软件里面都是用的这个基本原理,emule里面是采用文件分块传输,这样传输的每一块都要进行对比校验,如果错误则要进行重新下载,这期间这些相关信息写入met 文件,直到整个任务完成,这个时候part文件进行重新命名,然后使用move命令,把它传送到incoming文件里面,然后met文件自动删除,所以我们有的时候会遇到hash文件失败,就是指的是met里面的信息出了错误不能够和part文件匹配,另外有的时候开机也要疯狂hash,有两种情况一种是你在第一次使用,这个时候要hash提取所有文件信息,还有一种情况就是上一次你非法关机,那么这个时候就是要进行排错校验了。


Windows基础 散列

HashCalc

HashCalc是一款绿色小软件,它能够检验任意文件、文字串、HEX字串的MD5码,超强的文件校验码计算小工具!

速度快,支持算法多,直接拖动即可计算,十分方便! 当然还可对字串直接计算!


Windows基础 散列

只需将文件拖放进HASHCALC的窗口即可检验出来。拖动WinMD5.exe文件到窗口中。


Windows基础 散列

HashCalc是最常使用的一款文件校验软件,具有支持算法多,体积小和免安装等的优点。使用方法也非常简单,只需选中要校验的文件点击“计算”,然后稍等片刻即可看到计算结果(实际时间跟文件大小有关)。

HashCalc支持校验算法如下:

不止是能检验出MD5码,而且还能检验出MD4、CRC32、SHA等多种格式的密码,多个码一起,能够充分保证文件的真实性。

它还可以把ISO光盘镜像拖拽到这个软件的窗口就可以算出MD5,验证你下载的ISO是否完整

目前最通常用的“数字签名”方法有 MD5、SFV 、SHA1 、CRC32 (WinRAR 就是采用这种方法校验文件)等。

这个软件可识别的指纹远不止这些,它可识别的文件类型包括:

.mp3, .wav, .avi, .mpg, .midi, .mov, .dvd, .ram, .zip, .rar, .ico, .gif, .pif, .pic, .tif,

.tiff, .txt, .doc, .pdf, .wps, .dat, .dll, .hex, .bin, .iso, .cpp, .dss, .par, .pps, .cue, .ram, .md5, .sfv等等,

可识别的数字签名包括MD5、SHA1 、CRC32、MD4、SHA256、SHA384、SHA512、、RIPEMD160、PANAMA、TIGER、MD2、

ADLER32等。

可以说比 WinMD5、FlashSFV 之流不知要强多少倍,遗憾的是它没有生成校验文件的功能。

修正说明:修正几处翻译术语,增加注册表配置数据,把软件主界面数据格式下面下拉框中的“File”翻译为“文件”,

同时增加“最大化”及“总在最前面”功能。

HashCalc V2.02 汉化版是一款完全免费的超强文件”指纹”校验机。

找遍了整个世界,终于把它找到了。

我们知道,每个人的指纹都是不同的,通过指纹识别,警察可以根据指纹来指认犯罪嫌疑人,那么电脑里的文件有没有指纹呢?

答案是有,那就是”数字签名”。

每个文件的”数字签名”都不同,这就相当于人的”指纹”,通过识别其”数字签名”,我们可以判断它们是否为同一文件,

是否被修改过,这样既节省了硬盘空间,又可防止木马、病毒等。

目前最通常用的”数字签名”方法有 MD5、SFV 、SHA1 、CRC32 (WinRAR 就是采用这种方法校验文件)等。

这个小软件可识别的指纹远不止这些,它可识别的文件类型包括:

.mp3, .wav, .avi, .mpg, .midi, .mov, .dvd, .ram, .zip, .rar, .ico, .gif, .pif, .pic, .tif, .tiff,

.txt, .doc, .pdf, .wps, .dat, .dll, .hex, .bin, .iso, .cpp, .dss, .par, .pps, .cue, .ram, .md5, .sfv等等,

可识别的数字签名包括MD5、SHA1、CRC32、MD4、SHA256、SHA384、SHA512、、RIPEMD160、PANAMA、TIGER、MD2、ADLER32等。

可以说比 WinMD5、FlashSFV 之流不知要强多少倍,遗憾的是它没有生成校验文件的功能。

不过这难不倒我等菜鸟,随便建立一文本文档,输入你校验所得的文件名和校验值,例如:

2758afedbd4ffcf568a5556934f8083d *HashCalc_yfy.exe

然后打开”文件――>另存为”菜单,在弹出的对话框中的”保存类型”下拉框中选择”所有文件”,然后输入HashCalc_yfy.md5 ,保存之后就成为 MD5 文件了。

是不是很酷?先别着急,这种方法还谈不上安全性,因为如果别人有校验MD5的关联程序的话,直接打开你的 MD5 文件修改就糟了,

然后再把程序加入木马,输入修改后的 MD5 值,到时你哭都来不及!有没有更好的方法呢?

我教你一招更狠的吧(千万不要说是我教的,不然那些木马高手要找我算帐了):

依照上述方法建立一文本文档,输入内容如下(这只是个例子,千万不要照搬哦) File MD5 SHA1 CRC32

(1)HashCalc_xrzj.exe 2758afedbd4ffcf568a5556934f8083d * 43a2e70fc0c1310ced82863f9319ca0b * 2ff1529c

(2)HashCalc.chm 85944d132bd8f9508fedc1a0447abf46 * e56a8e1bd4c83454b167461121770235194b2f64 * 941510a0

然后依照上述方法另存为 xrzj.dll (当然,文件名可以任意,扩展名任意,越让人意想不到越好)然后把这个 xrzj.dll放到你要打包的文件夹里,

这时文件一大堆,木马高手看到这个 xrzj.dll 也不会怀疑,还以为是动态链接库呢,就不会再修改你这个超级校验文件了。

以后查看文件是否被修改,用 HashCalc_xrzj.exe 校验一下,再使用写字板或 SkimEdit 等软件打开 xrzj.dll ,对比一下校验值就知道了。

需要注意的是:由于 HashCalc 支持的”数字签名”相当多,请尽量不要点选所有的检查框,一般用 MD5、SHA1 、CRC32就可以了;

尤其是电影之类的大文件,请尽量使用 MD5 或 SHA1 ,点选一个检查框,因为校验时很占系统资源,弄不好会造成死机;

而且这个软件校验大文件时没有 WinMD5 之类的进度条,显得程序响应很慢,这应该是一个需要改进的地方。

6、WinMd5

WinMD5这款校验软件只支持MD5检测,是一款资格很老的软件,很多游戏下载页面打包或提供的都是这个MD5校验工具,大家几乎都是用过。

该软件使用极其简单、绿色,运行后,只要把要计算MD5值的文件用鼠标拖到正在处理的框里边,稍等片刻就会计算出MD5校验值,而且每次校验都会自动加入到下面的列表框,可以选定并复制(CTRL+C)出来。


Windows基础 散列

只需将文件拖放进HASHCALC的窗口即可检验出来。拖动HashCalc.exe文件到窗口中。


Windows基础 散列

针对于数字串文件进行HASH


Windows基础 散列

在密码明文处输入admin,获得加密信息


Windows基础 散列

asp中的md5对口令的加密

输入:http://www.sql.com/md5/index.html


Windows基础 散列

输入111 密码111 点击提交


Windows基础 散列

获得md5的散列值


Windows基础 散列

所有的md5加密文件在d:\tool\sql注入工具\Article\md5


Windows基础 散列

把密码转成MD5然后插入到SQL表中。

这就是加密后的密码,你在存储时可以截取其中几位,增加破解的难度

本文系统(windows)相关术语:三级网络技术 计算机三级网络技术 网络技术基础 计算机网络技术

分页:12
转载请注明
本文标题:Windows基础 散列
本站链接:http://www.codesec.net/view/534517.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(windows) | 评论(0) | 阅读(64)