安全科普:详解Windows Hash

   概述

  1.1 hash

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

  常用hash算法的介绍:

  (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)SHA-1及其他

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

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

  (1)文件校验

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

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

  (2)数字签名

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

  (3) 鉴权协议

  如下的鉴权协议又被称作挑战–认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。以上就是一些关于hash以及其相关的一些基本预备知识。

  windows hash

  Windows hash由二部分组成,分别是LM HASH&NT HASH。Windows系统关于hash的组成如下:

  用户名称:RID:LM-HASH值:NT-HASH值

  2.1 Windows下LM HASH生成原理

  LM HASH生成规则如下:

  1.用户的密码被限制为最多14个字符。

  2.用户的密码转换为大写。

  3.系统中用户的密码编码使用了OEM内码页

  4.密码不足14字节将会用0来补全。

  5.固定长度的密码被分成两个7byte部分。每部分转换成比特流,在分7bit为一组末尾加0,组成新的编码

  6.上步骤得到的8byte二组,分别作为DES key为“KGS!@#$%”进行加密。

  7.将二组DES加密后的编码拼接,得到最终LM HASH值。

时间: 2024-12-02 13:34:19

安全科普:详解Windows Hash的相关文章

图文详解Windows下使用Redis缓存工具的方法_Redis

一.简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合). 这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记

详解windows下mysql的主从同步_Mysql

半路出家到Java,刚开始听说到说程序支持读写分离感觉特别高大上,也一直没接触 偶然的机会接触到了,就一定得记下来. 今天先讲讲数据库的主从同步,两个好处: 是读写分离可以用上.比如 写操作就写到主数据库,读就从从数据库读取 是纯粹给数据库备份,以防硬盘彻底崩了 主从数据库操作准备: 两台电脑,都安装好mysql 5.5及以上版本,最好两台电脑都安装同一版本数据库,且能单独正常使用 记住两台电脑的ip地址: 以我家里电脑为例: 主数据库:192.168.0.102   从数据库:192.168.

PHP函数checkdnsrr用法详解(Windows平台用法)_php技巧

本文实例讲述了PHP函数checkdnsrr用法.分享给大家供大家参考,具体如下: 在php.net上是这样说的: (PHP 4, PHP 5) checkdnsrr - Check DNS records corresponding to a given Internet host name or IP address 译文: checkdnsrr -- 根据一个给定的host name(域名)或者IP地址检查它是否有DNS记录,其实也就是检验它是否存在. Note:  This functi

详解Windows Shim的攻防利用

*本文原创作者:nickchang,本文属FreeBuf原创奖励计划,未经许可禁止转载 背景 二十多年来,操作系统的发展突飞猛进,windows也走过了各种版本.微软每次都在新版本中加入很多的改进,比如完善某些API,引入新的安全机制(UAC,ASLR,-),调整系统目录结构(Application Data目录 从win98的%windir%Application Data变成winXp的%USERPROFILE%Application Data,后又变成Vista的%APPDATA%),这些

详解Windows下的权限设置方法_安全设置

随着动网论坛的广泛应用和动网上传漏洞的被发现以及SQL注入式攻击越来越多的被使用,WEBSHELL让防火墙形同虚设,一台即使打了所有微软补丁.只让80端口对外开放的WEB服务器也逃不过被黑的命运.难道我们真的无能为力了吗?其实,只要你弄明白了NTFS系统下的权限设置问题,我们可以对crackers们说:NO! 要打造一台安全的WEB服务器,那么这台服务器就一定要使用NTFS和Windows NT/2000/2003.众所周知,Windows是一个支持多用户.多任务的操作系统,这是权限设置的基础,

详解Windows 8.1的桌面属性

根据之前多则报道,Windows 8.1 将支持用户开机时直接启动到传统桌面,从而完全跳过暂时很陌生的"开始屏幕",现在又有一张新的截图表明,微软该新系统中不仅把该传统功能当做了系统选项,而且还提供了更丰富的自定义设置. 正如图上所示,"任务栏属性(Taskbar and Navigation properties)"其中的一个选项卡"导航(Navigation)"里,我们可以看到这个位置好汉了很多 Windows 8 新的自定义功能选项. 我们

详解Windows 8.1的开始按钮

据传开始按钮确实要在Windows Blue(又叫Windows 8.1)里回归,开始按钮和开机直接进入传统桌面功能已经加入到最新的Windows 8.1  "Milestone Preview"内部版本里. 在此之前,我们并不知道关于这个开始按钮如何运作的更多消息.虽然有消息来源曾强调称Windows 8.1的 开始按钮和当前在Windows 7上的并不相同(也就是我们熟知的点击之后直接打开开始菜单). 现在, Mary Jo Foley花费一番功夫之后终于从一个重要消息来源那里收集

详解Windows 7中的电源选项

使用 Thinkpad 笔电的朋友们知道,其 Power Manager 的功能非常强大,除了能定制电源管理方案意 外,还能监控电池的使用情况以及控制电池的充电阀值,所以即使到了 Windows 7,很多朋友仍不愿舍弃 Thinkpad 自己的电源管理软件. 但是,也许你会留意到,当我们在安装了多语言包的系统中使用 Power Manager 时,一旦对语言环境 进行切换就会发现在 Power Manager 的电源方案中会自动添加对应语言的电源方案,这样一来就重复出 现了不同语言但方案相同的电

详解Windows 7中的改进型用户帐户控制(UAC)

昨天我们分析了Windows 7里的Federated Search,今天我们来看看一个曾经在Vista中广受批判的功 能:用户帐户控制(UAC).只要系统稍作改变,它就会频繁弹出对话框来寻求用户的许可,因此它成为 了Vista中最受痛恨的一个功能.另外使用UAC对一个程序进行判断有时候也很复杂. 而且微软在仅为UAC提供两个选项:开启UAC或者关闭UAC,许多用户常常因为忍受不了UAC的折磨而选 择关闭.那么UAC在Windows 7里有了什么样的改变呢? 之前E7团队在blog中介绍了这个新