ntlm hash加密方式学习

news2024/12/22 18:15:18

文章目录

  • 一、ntlm hash
  • 二、LM hash加密
  • 三 、NTLM Hash 加密

一、ntlm hash

什么是ntlm hash,当windows进行本地用户密码认证时不是以用户输入的明文密码与系统密码直接比较,而是经过某种方式加密之后进行比较。所以windows中的用户密码凭证不是以明文的方式存储在系统中的SAM数据库,而是经过加密之后再存储到SAM数据库,这个明文加密的结果我们称之为ntlm hash。本文学习ntlm hash的加密方式原理,以更好的了解windows的认证机制。

二、LM hash加密

LM Hash 是一种windows系统身份认证协议,在windows 7 或windows 2008 之前的系统使用,之后的系统默认禁用了LM Hash协议认证,使用ntlm hash的方式。
LM Hash 的明文密码被限定在14位之内。
如有明文:QAZ!q123
加密流程:

1、将明文密码中的小写字母全部转为大写,再转为16进制字符串

明文密码-->转为大写字母-->转为16进制		
QAZ!q123-->QAZ!Q123-->51415A2151313233

2、转换后的字符串长度不足14字节(一个字节两个bits,14字节共28长度)的,后面使用0补全

51 41 5A 21 51 31 32 33-->51 41 5A 21 51 31 32 33 00 00 00 00 00 00

3、补0之后进行分组,把14个字节分为两组,7个字节一组,每组的字节分别转为二进制依次拼接起来

51 41 5A 21 51 31 32 -->转为二进制=01010001010000010101101000100001010100010011000100110010   每组56个比特位
33 00 00 00 00 00 00 -->转为二进制=00110011000000000000000000000000000000000000000000000000

4、把每组的二进制按7位一组拿出来末尾补0,得到8组二进制之后转为16进制,

第一组:0101000 1010000 0101011 0100010 0001010 1000100 1100010 0110010  
补0之后二进制为:
01010000 10100000 01010110 01000100 00010100 10001000 11000100 01100100 -->转16进制得到=50a056441488c400
同样第二组:0011001 1000000 0000000 0000000 0000000 0000000 0000000 0000000
补0之后二进制为:
00110010 10000000 00000000 00000000 00000000 00000000 00000000 00000000 -->转16进制得到=3280000000000000

5、将两组16进制字符串作为DES的加密密钥对"KGS!@# %"进行加密,"KGS!@# %"需要转为16进制,把加密得到的密文进行拼接最终得到LM Hash值(DES对称密钥加密算法)

KGS!@#$% 16进制为:4B47532140232425
最后加密得:862BE47A8F14E093 1AA818381E4E281B 拼接起来就是LM hash

最后一步注意:在进行DES加密时,使用在线的DES加密工具无法加密出正确的LM hash结果。需要使用DES计算器进行加密。

des计算器
对 50a056441488c400 进行加密
在这里插入图片描述

对 3280000000000000 进行加密

在这里插入图片描述

LM hash加密方式存在的缺点:

1、密码长度最大只能为14个字符
2、密码不区分大小写
3、如果明文密码长度小于7个,第二个分组的加密结果一定是:aad3b435b51404ee

三 、NTLM Hash 加密

还是以 QAZ!q123 为明文进行加密
加密流程:

1、将密码明文转为16进制

QAZ!q123-->转16进制=51415A2171313233

2、将16进制的字符串转为unicode编码

51415A2171313233  -->进行unicode编码=510041005A0021007100310032003300  (unicode 编码在每个16进制字节后面添加一个字节00)

3、对unicode编码的16进制字符进行标准MD4单向哈希加密(MD4是一种不可逆的加密算法)

510041005A0021007100310032003300 -->标准MD4 加密=08a1d3438d7dfe8a2ddc9bbbcb05a0d0

这里使用HashCalc 计算器进行加密最后得到:08a1d3438d7dfe8a2ddc9bbbcb05a0d0
在这里插入图片描述

到此ntlm hash的加密原理过程有了基本的了解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哪个洗脱一体机好用?好用的洗拖一体机推荐

洗地机是一款使用非常方便的清洁工具,通常可以实现吸、拖、洗三个功能,对于各类家庭污渍都有着不错的处理能力,无论是干燥垃圾还是潮湿垃圾一律可以有效清理。不过很多新手朋友在选购洗地机时会因为看不懂参数而频繁踩雷。本文为大家整理了洗…

图像分割(Segmentation)

文章目录 图像分割FCNU-NetSegNetDeepLab图像分割常用数据集 图像分割 图像分割是预测图像中每一个像素所属的类别或者物体。基于深度学习的图像分割算法主要分为两类: 语义分割(Semantic Segmentation) 为图像中的每个像素分配一个类别。 …

基于Bert的知识库智能问答系统

项目完整地址: 可以先看一下Bert的介绍。 Bert简单介绍 一.系统流程介绍。 知识库是指存储大量有组织、有结构的知识和信息的仓库。这些知识和信息被存储为实体和实体关系的形式,通常用于支持智能问答系统。在一个知识库中,每个句子通常来说…

用Morss获取全文RSS摘要

什么是 Morss ? Morss 工具的目标是从互联网上常见的 RSS 摘要中获取全文 RSS 摘要。Morss 能打开来自 RSS的链接,然后从网站下载整篇文章并将其放回 RSS 摘要中,还可以将摘要导出为 RSS/JSON/CSV/HTML。 Morss 需配合其他 RSS 阅读器使用&am…

人工智能AI图像风格迁移(StyleTransfer),基于双层ControlNet(Python3.10)

图像风格迁移(Style Transfer)是一种计算机视觉技术,旨在将一幅图像的风格应用到另一幅图像上,从而生成一幅新图像,该新图像结合了两幅原始图像的特点,目的是达到一种风格化叠加的效果,本次我们…

神经影像分析的统计学方法

线性模型概述 模型是对现实的一种数学近似,其中给定输入变量集的某个函数旨在重建一个输出变量。以fMRI范式为例,在这个范式中,给受试者呈现面孔和房屋的图像。该模型的目标是利用体素对面孔和房屋反应时的预期时间进程,并产生与…

基于html+css的图片展示20

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

Mybatis(十)级联映射与懒加载

一、Mybatis的级联映射 使用Mybatis的级联映射,我们可以轻松的实现一对一、一对多或者多对多关联查询,甚至可以利用级联映射实现懒加载。 所谓的懒加载,就是我们在一个实体对象中关联了其他对象,如果不需要获取被关联的对象&…

什么样的测试才是优秀的测试

什么样的测试才是优秀的测试 优秀的测试应该包括以下要素: 测试代码的可读性和可维护性 代码在项目中及特定源代码中的组织方式 测试所检查的内容 测试的可靠性及可重复性 测试对测试替身的使用 可读的代码才是可维护的代码 代码较差的可读性与缺陷密度密切相…

GB 35114-2017 学习笔记

GB 35114-2017 学习笔记 第四章 公共安全视频监控联网信息安全系统互联结构 公共安全视频监控信息安全系统 公共安全视频监控信息安全系统由四部分组成: 具有安全功能的前端设备 FDWSF(安全前端设备:Front-end Device With Safety Function)具有安全功能的用户终…

Ubuntu18.04环境下安装igH EtherCAT Master

一、安装步骤 下载安装包 EtherCAT安装包:igH EtherCAT安装包(目前最新的稳定版) 安装依赖包 sudo apt install autoconf automake libtool net-tools解压EtherCAT安装包,进入解压出的文件夹,右键打开终端输入 ./b…

Spring IoC容器、IoC与DI

目录 Spring是什么? 理解容器 什么是IoC(Inversion of Control) 传统的new创建对象的方式中类与类的耦合程度很大。 IoC的优势: Spring IoC容器最核心的功能 什么是DI (Dependency Injection) IoC和DI的区别 Spring是什么? Spr…

145. 二叉树的后序遍历【34】

难度等级:容易 上一篇算法: 102. 二叉树的层序遍历【206】 力扣此题地址: 145. 二叉树的后序遍历 - 力扣(Leetcode) 1.题目:145. 二叉树的后序遍历 给你二叉树的根节点 root ,返回它节点值的 后…

Django DRF - JWT Token认证使用

JWT Token认证使用 jwt官网:https://jwt.io/ 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证。我们不再使用Session认证机制,而使用Json Web Token认证机制。 一. JWT概念 Json web token (JWT),…

JavaScript—javaEE

文章目录 1.关于JavaScript2.引入的方式3.输入输出4.语法4.1变量4.2基本数据类型4.3运算符4.4数组4.5函数4.6对象 5.dom5.1获取元素5.2操作元素5.3表单控件5.4样式:style属性5.5模仿和服务端交互 6.ajax6.1概念6.2作用6.3Ajax代码6.4Ajax发get请求6.5Ajax发post请求…

【文件系统和系统日志分析】

目录 一、inode和block概述block(块)inode(索引节点) 二、inode内容三、inode的号码3.1、查看inode号码的方法 四、inode的大小磁盘分区后的结构访问文件的简单流程 五、删除乱码文件六、inode节点耗尽故障处理6.1、模拟inode节点…

【Tomcat】Tomcat的安装配置和在Idea中使用Tomcat:

文章目录 一、获取安装包二、配置环境三、验证是否配置成功【法一】通过运行tomcat文件夹下的bin文件夹中的 startup.bat【法二】快捷键【winr】,输入【cmd】,点击【确定】,输入 startup.bat 四、出现乱码和端口号被占用的解决方案【1】出现乱…

Spring概述,IOC,AOP使用

Spring简介 Spring概述 官网地址:https://spring.io/ Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Java 平台,它最…

OpenStack 面板更替换代:Skyline Dashboard <-- Horizon 面板

~、OpenStack 面板更替换代&#xff1a;Skyline Dashboard <-- Horizon 面板 先决条件 一个至少运行核心组件的 OpenStack 环境, 并能通过 Keystone endpoint 访问 OpenStack 组件 一个安装有容器引擎的 (docker 或 podman) 的 Linux 服务器 一、 &#xff08;一&…

用starter实现api接口的加密与日志功能

一、概述 运用AOP技术实现对api接口的加密及日志功能。 加密&#xff1a; 需要加密的api接口上加注解&#xff1a;Encrypt&#xff08;自定义注解&#xff09;接口返回类型为String时才加密采用对称加密&#xff1a;加密和解密使用相同的密钥 日志&#xff1a; 对所有的api接…