md5 包含哪些字符

md5 包含的字符有阿拉伯数字和大小写英文26个字母。MD5加密后的位数一般为两种,16位与32位,用的比较多的是32位的MD5加密,而16位MD5加密实际上就是从32位MD5加密结果中将中间的第9位到第24位提取出来。

md5 包含哪些字符-Worktile社区

一、md5 包含的字符

md5 包含的字符有阿拉伯数字和大小写英文26个字母。MD5加密后的位数一般为两种,16位与32位,用的比较多的是32位的MD5加密,而16位MD5加密实际上就是从32位MD5加密结果中将中间的第9位到第24位提取出来。

MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要(32位的数字字母混合码)。MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被”压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。

MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现(两个MD5值不相同)。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

MD5还广泛用于操作系统的登陆认证上,如Unix、各类BSD系统登录密码、数字签名等诸多方。如在UNIX系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5 Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。

MD5将任意长度的“字节串”映射为一个128bit的大整数,并且是通过该128bit反推原始字符串是困难的,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。所以,要遇到了md5密码的问题,比较好的办法是:你可以用这个系统中的md5()函数重新设一个密码,如admin,把生成的一串密码的Hash值覆盖原来的Hash值就行了。

二、md5算法步骤

1、按位补充数据

在MD5算法中,首先需要对信息进行填充,这个数据按位(bit)补充,要求最终的位数对512求模的结果为448。也就是说数据补位后,其位数长度只差64位(bit)就是512的整数倍。即便是这个数据的位数对512求模的结果正好是448也必须进行补位。补位的实现过程:首先在数据后补一个1 bit; 接着在后面补上一堆0 bit, 直到整个数据的位数对512求模的结果正好为448。总之,至少补1位,而非常多可能补512位 。

2、扩展长度

在完成补位工作后,又将一个表示数据原始长度的64 bit数(这是对原始数据没有补位前长度的描述,用二进制来表示)补在最后。当完成补位及补充数据的描述后,得到的结果数据长度正好是512的整数倍。也就是说长度正好是16个(32bit) 字的整数倍。

3、初始化MD缓存器

MD5运算要用到一个128位的MD5缓存器,用来保存中间变量和最终结果。该缓存器又可看成是4个32位的寄存器A、B、C、D,初始化为:

  • A : 01 23 45 67
  • B: 89 ab cd ef
  • C: fe dc ba 98
  • D: 76 54 32 10

4、处理数据段

首先定义4个非线性函数F、G、H、I,对输入的报文运算以512位数据段为单位进行处理。对每个数据段都要进行4轮的逻辑处理,在4轮中分别使用4个不同的函数F、G、H、I。每一轮以ABCD和当前的512位的块为输入,处理后送入ABCD(128位)。

5、输出

信息摘要最终处理成以A, B, C, D 的形式输出。也就是开始于A的低位在前的顺序字节,结束于D的高位在前的顺序字节。

三、md5实例

  • 待加密字符串:admin
  • 32位MD5加密结果:21232f297a57a5a743894a0e4a801fc3
  • 16位MD5加密结果:7a57a5a743894a0e

延伸阅读

md5算法特点

  • 压缩性:任意长度的数据,算出的MD5值长度都是固定的。
  • 容易计算:从原数据计算出MD5值很容易。
  • 抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
  • 强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

文章标题:md5 包含哪些字符,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/35520

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月13日 下午9:06
下一篇 2023年1月13日 下午9:27

相关推荐

  • okr适用于什么企业

    okr适合的企业有:一、大型企业;二、高速发展的企业;三、跨部门团队;四、初创企业。OKR适合大型企业,因为它可以帮助管理层更好地掌握企业的整体目标和团队目标,OKR可以帮助他们协调各项工作,并确保每个人都专注于实现相同的目标。 一、大型企业 OKR适合大型企业,因为它可以帮助管理层更好地掌握企业的…

    2023年3月31日
    13600
  • empty()、isset()区别是什么

    empty()、isset()区别是什么:empty() 函数用于检查一个变量是否为空。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。 一、二者共同点 都可以判定一个变量是否为空; 都返回boolean类型,即true或fa…

    2023年5月16日
    6000
  • Frobenius范数的定义

    Frobenius范数,常用于矩阵的范数计算,是矩阵元素的平方和的平方根。其得名源于德国数学家Ferdinand Frobenius。它为我们提供了衡量矩阵大小或“能量”的方法,并在多种矩阵相关的问题中,如矩阵近似、奇异值分解等,都有广泛的应用。 Frobenius范数,常用于矩阵的范数计算,是矩阵…

    2023年7月30日
    20000
  • 怎么把word里面的题库导入到mysql数据库呢

    把word里面的题库导入到mysql数据库的步骤是:一、创建数据库和表;二、准备Word题库文件;三、导入数据到MySQL;四、检查数据。在MySQL中创建一个新的数据库和表,用于存储题库数据。可以使用MySQL命令行界面或图形用户界面进行创建。 一、创建数据库和表 在MySQL中创建一个新的数据库…

    2023年5月31日
    11900
  • 程序员为什么要用Linux环境编程

    程序员用Linux环境编程是因为:1、自由开源;2、稳定性;3、安全;4、成本低;5、操作方便。自由开源指Linux操作系统完全免费,可以用作开源软件,通过开源,您可以轻松查看创建Linux可用代码的内核,也可以修改代码来修复任何错误等。 1、自由开源 Linux操作系统完全免费,可以用作开源软件,…

    2023年1月27日
    25500
  • 产品管理的主要内容是什么

    产品管理的主要能容包括产品生产管理和产品质量管理两方面。产品管理,就是在产品生命周期中的不同阶段时,产品经理需要采取一系列的措施、手段和方法,让产品能够在对应的阶段内生存和发展。 产品管理包括两方面,分别为产品生产管理和产品质量管理,具体如下: 1、产品生产管理主要内容 包括:计划管理、采购管理、制…

    2022年11月6日
    31600
  • gpu渲染器有哪些

    gpu渲染器包括:1、Redshift;2、Octane;3、Vray;4、Iray;5、Blender。Redshift是一款强大的GPU加速渲染器,专为满足当代高端制作渲染的特殊需求而打造。Redshift专为支持各种规模的创意个人和工作室而设计,提供了一套强大的功能,并与行业标准的CG应用程序…

    2022年12月31日
    58500
  • linux能干什么

    Linux,全称GNU/Linux,是一种类似Unix的操作系统,可以免费使用,自由传播。它是一个基于POSIX的多用户、多任务、多线程、多CPU的操作系统。随着互联网的发展,Linux得到了全世界软件爱好者、组织和公司的支持。 一、linux能干什么 Linux,全称GNU/Linux,是一种类似…

    2023年6月3日
    4700
  • 如何实现高效的团队合作

    实现高效的团队合作要做到:1、架构合理,分工科学;2、业务规范,流程体系;3、精准考核,合理回报;4、合作共赢,集体荣誉;5、以身作则,不断进化。架构合理是因为组织架构属于部门顶,基于部门定位及职责,设置相应岗位及配置人数。 1、架构合理,分工科学 架构合理是根本:组织架构属于部门顶层设计,基于部门…

    2023年1月6日
    20900
  • rdf和图数据库有什么关系

    rdf和图数据库的关系是:一、RDF是图数据库中的一种数据模型;二、图数据库能够高效地处理RDF数据;三、图数据库能够支持SPARQL查询语言;四、图数据库能够支持RDF数据的可视化;五、图数据库能够提供更好的数据管理和安全性。 一、RDF是图数据库中的一种数据模型 RDF是一种基于图的数据模型,它…

    2023年5月30日
    9900

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部