Windows用户密码基础知识

1.Hash基本知识

在了解Windows用户密码之前,我们先认识一下Hash。

Hash,我们称之为单向散列函数(也直接音译为哈希函数)。它是把任意长度的输入,通过散列算法,变换成固定长度的输出的一个函数。

它具有以下几个特点:

(1).算法本身是不可逆的,即可以由输入得到散列值,但是不可能从散列值中得到输入值。

(2).不同的算法会得到不同长度的散列值,但使用同一个算法,无论输入的数据有多长,得到的散列值长度总是固定的。

(3).不同的输入必然产生不同的散列值,两条相似的数据产生的散列值可能会大相庭径。

常用的Hash算法:

(1).MD4:MD4(RFC 1320)是MIT的Ronald Rivest在1990年设计的,MD是Message Digest(消息摘要)的缩写。它适用于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相同原理,并且模仿了该算法。

2.Windows密码

Windows用户密码存放在C:\Windows\System32\config\SAM文件中。该文件被Windows系统独占打开,用户尝试打开该文件会显示如下:

Windows的用户密码有LMi-Hash和NTLM-Hash两种算法。

(1).LM-Hash:

LM-Hash算法是在DES的基础上实现的,它不区分字母大小写,长度最长是14个字符,密码被分成2串7个字符进行存放。

(2).NTLM-Hash:

NTLM-Hash算法是微软基于LM-Hash算法的弱点而设计的算法。它对字母大小写敏感,摆脱了LM-Hash的魔术字符串“[email protected]#$%”。它是基于MD4实现的,穷举难度较大。

默认时,当Windows用户密码小于或者等于14个字符时,SAM文件中既存放着LM-Hash值,也存放着NTLM-Hash值。当用户密码大于14个字符,SAM文件中只存放NTLM-Hash值。

为了用户密码的安全性,我们可以修改注册表,使SAM文件中只存放NTLM-Hash值。在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa下,修改名为“nolmhash”的DWORD值(如果没有这个值就添加它),将它设置为1,重启系统即可。

时间: 2024-10-06 02:41:00

Windows用户密码基础知识的相关文章

Windows GDI绘图基础知识

一.Windows可以画直线.椭圆线(椭圆圆周上的曲线)和贝塞尔曲线.////////////7 个画线函式是:(1)画直线LineTo    BOOL LineTo(HDC hdc,int nXEnd,int nYEnd);结合MoveToEx函数使用BOOL MoveToEx(HDC hdc,int X,int Y,LPPOINT lpPoint);Point记录了旧的坐标点(先前的当前位置).///注意:GetCurrentPositionEx (hdc, &pt) ;获得当前位置. (2

Windows权限提升基础知识和命令

介绍 这篇文章是介绍window的权限提升,虽然不是一个全面的指南,但会试图覆盖主要的技术,常用的资源列表在文章底部,可供大家参考. window权限提升基础知识 初始信息收集 在开始提权之前,我们需要了解操作系统基本的信息,如安装软件,操作系统版本,连接用户,端口进程等信息, 确定操作系统名称和版本 1 C:\Users\sanr> systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 查看主机名 1 C:

Windows用户密码清除

我们在使用Windows系统的时候,如果忘记了用户密码导致进不了系统怎么办?你说,当然是用软件把这个密码破解了,那么怎么个破解法呢? 下面我们演示一下在Win7系统中忘记了密码,怎样用软件将密码清除的方法. 首先,我们需要准备好清除密码的软件,把这个软件刻录到光盘或者U盘里.啊,你说,这么麻烦啊!其实我们只需要用U盘做个启动盘,或者直接使用ghost的安装光盘就可以了.至于怎样使用U盘做启动盘,请自行度娘吧. 在开机时,请调整启动顺序,笔记本一般按F2(台式按del)进入BIOS调整,也可以按F

Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理

Windows PE的全名是WindowsPreinstallationEnvironment(WinPE)直接从字面上翻译就 是"Windows预安装环境".微软的本意是:WinPE仅用做系统维护,并设置了各种限制.可以简单的理解为:PE是Windows系统的超级精简版.超级权限版(以系统system账户登录)!对于无法进入系统.修复系统.分区.重装系统等问题都可以进入PE进行操作,因此PE是系统维护强大的武器! 微软原版的PE,只有"命令行"即DOS窗口.网上流

Linux基础知识第七讲,用户权限以及用户操作命令

目录 Linux基础知识第七讲,用户权限以及用户操作命令 一丶简介linux用户,用户权限,组的概念. 1.1 基本概念 1.2 组 1.3 ls命令查看权限. 二丶用户权限修改命令 1.chmod 命令的使用 三丶超级用户,以及组操作. 1.什么是超级用户 2.组管理 四丶添加linux用户,以及删除linux用户 1.命令 2.用户命令 3.让添加的用户具有sudo权限 4.which 查看命令所执行位置的路径 5.用户切换 Linux基础知识第七讲,用户权限以及用户操作命令 一丶简介lin

Ant学习-001-ant 基础知识及windows环境配置

一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.TestNG等搭建持续集成测试开发环境,从而高效.高质量的构建产品. Ant 有以下一些优点: 跨平台,可移植.Ant 是 Java 语言编写的,所以有很好的跨平台性和可移植性,无论是在 windows.Linux,还是 mac. 操作简单. Ant 是由一个内置任务和可选任务组成的,运行时需要一个构

linux基础知识---用户

用户和组 一.用户和组的概念 随着计算机对多用户需求越来越多,才引入了用户和组的概念.所谓的用户就是操作系统用来标识登陆系统的.就是用户和组是实现计算机资源分配的核心要素.组:是具有相同计算机资源(主要指权限)用户的一个集合. 在计算机内核中,用户和组都是一个数字,我们称之为UID和GID.UID和GID在系统中具有唯一性.实现这个过程进行名称解析才能完成,在Linux系统中使用glib库中的系统调用来完成. 二.用户识别 识别用户通过3A(Authentication,Authorizatio

Linux基础知识之用户和用户组以及 Linux 权限管理

已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看有木有,一提起这几个名词马上脑海中总是升腾起无限的崇拜有木有!今天就硬着头皮捯饬捯饬这几个概念,希望能有所收获. 1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名

Windows常用命令汇总以及基础知识

命令部分: dir dir指定要列出的驱动器.目录和/或文件 ,/?显示所有命令 例:dir /b /s /o:n /a:a 表示显示当前路径下的所有文件的绝对路径,包含子文件夹的内容 /b表示去除摘要信息,且顶格显示完整路径 /s表示枚举嵌套文件夹中的内容 /o:n表示根据文件名排序 /a:a表示只枚举文件而不枚举其他 注意:单独dir /b 或者/s都不会显示完整路径  只有同时输入才可以 dir /b /s /a:d  显示文件的绝对路径 当然也可以进行模糊查询:dir /p/s 1.tx