MD5生成和校验

MD5生成和校验

2021819日·席锦

 

任何类型的一个文件,它都只有一个MD5值,并且如果这个文件被修改过或者篡改过,它的MD5值也将改变。因此,我们会对比文件的MD5值,来校验文件是否是有被恶意篡改过。

什么是MD5

MD5的全称是报文摘要算法(Message-Digest Algorithm 5),在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4发展而来。

此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同报文摘要的可能性是非常非常之小的。其实就是一串字符,这串字符是从一个文件或程序中按照一定方法提取出来的,所以我们只要把收到的文件的MD5码和软件提供者给的MD5相比较就可以基本确定文件的完整性,保证没有被中途修改过。MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。

md5不是用于加密,而是用于数据的完整性校验的一种技术。 这是一个单向散列函数,单向的意思就是说不可逆转。你可以将源内容通过md5函数散列出一个md5校验码,这个md5校验码是唯一的,你可以作为证明源的身份标识,但是你无法通过md5校验码去还原源。Src ---> md5 --->md5Code

但是 md5Code --->某算法 ---> Src 是不可能的

同样的内容经过md5算法总是得到相同的md5校验码。

为什么要做MD5校验?

大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为公安机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。

我们都经常从下载站点下载文件,在Internet不可信任的环境中,存在很多的不安全因素。如果你下载的session被人截获,并在下载的文件中插入危险代码,使得当你下载完毕运行程序的时候植入木马或者病毒或者其他非安全的代码。在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的验证软件做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。

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

笔记本Win7专用系统镜像下载_笔记本Win7 32位经典旗舰版免激活下载V2021.08 - 系统之家

上可下载系统的MD5值等信息

如何进行MD5效验?

有些电脑新手就会对如何查询一个软件或文件的MD5头疼,因为Windows并没有查询MD5码的功能,导致许多朋友只知道,但不知道怎么去利用起来,用好MD5对于日常下载软件什么的用处还是很大的哦。下面以【MD5加密校验比对器(MD5Verify)v3.2】和【Md5Checker V3.3 绿色免费版】为例来具体说说怎么查看一个软件或文件的MD5码,和比较MD5码。

MD5加密校验比对器(MD5Verify)v3.2】一次只能计算一个MD5

1.打开【MD5加密校验比对器(MD5Verify)v3.2】,选择【字符串MD5加密】或者【文件MD5校验】。(后续以选择【文件MD5校验】为例)

2.选择需要进行MD5验证的一个文件或直接将一个文件或软件程序拖拽至【MD5加密校验比对器(MD5Verify)v3.2】界面,就会看到对应的MD5码。

3.可将软件下载站或官方提供的MD5码放于【MD5加密校验比对器(MD5Verify)v3.2】界面【比对密文】前的输入框中,与本地生成的MD5进行比对。将可能产生如下两种结果中的一个。

Md5Checker V3.3 绿色免费版】一次可以计算多个MD5

1.打开【Md5Checker V3.3 绿色免费版】,选择(菜单路径:编辑->添加/打开)需要进行MD5验证的一个或多个文件或直接将一个或多个文件或软件程序拖拽至【Md5Checker V3.3 绿色免费版】界面,就会看到对应的MD5码。

若需要复制生产的MD5值,可点击复制(复制出活动行的MD5和文件名至剪贴板中)或复制MD5(仅复制活动行的MD5至剪贴板中)。

也可点击保存(保存所有行的MD5和文件名至*.md5文件中)或保存单项(仅保存活动行的MD5和文件名至*.md5文件中),保存和保存单项生成的文件与【Md5Checker V3.3 绿色免费版】软件在同一目录,*.md5的文件可用文本编辑器(如:记事本等)打开。

也可以点击保存到,保存所有行的MD5和文件名至自定义路径和文件名中。

2.点击需要进行MD5校验文件的行,会弹出【比较MD5值】的弹窗,在【粘贴】前的输入框中输入文件或软件下载站或官方提供的MD5码,与本地生成的MD5进行比对。将可能产生如下两种结果中的一个。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测(SE注意力机制) 目录 分类预测 | MATLAB实现SSA-CNN-BiLSTM-Attention数据分类预测(SE注意力机制)分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MAT…

【编解码】解码字符串中的 UNICODE 字符

前言 由于前后端交互中编码的问题,出现了这样的一串字符: {"share_names":["\u4e2d\u6587\u8def\u5f84"]}出现了unicode编码作为字符串内容的情况,直接用json解析的话会报错,所以在json解析前需要先进行转码…

大数据技术学习笔记(三)—— Hadoop 的运行模式

目录 1 本地模式2 伪分布式模式3 完全分布式模式3.1 准备3台客户机3.2 同步分发内容3.2.1 分发命令3.2.2 执行分发操作 3.3 集群配置3.3.1 集群部署规划3.3.2 配置文件说明3.3.3 修改配置文件3.3.4 分发配置信息 3.4 SSH无密登录配置3.4.1 配置ssh3.4.2 无密钥配置 3.5 单点启动…

二叉排序树(BST)

二叉排序树 基本介绍 二叉排序树创建和遍历 class Node:"""创建 Node 节点"""value: int 0left Noneright Nonedef __init__(self, value: int):self.value valuedef add(self, node):"""添加节点node 表示要添加的节点&quo…

PI证书导入总结

当我们在用pi调用https的方式时,接口会报错提示iaik.security.ssl.SSLCertificateException。这需要我们导入对应的证书。 一.下载证书 根据对方提供的url ,在浏览器中输入,点击锁头图标,点击证书信息 二.点击详细信息标签&…

Vue单文件组件

一、.vue文件 我们使用Vue的单文件组件的时候&#xff0c;一个.vue文件就是一个组件。 例如我们创建一个School组件&#xff1a; 二、组件的结构 我们编写网页代码的时候有HTML结构、CSS样式、JS交互。 组件里也是同样存在这三种结构的&#xff1a; <template><d…

imu预积分学习(更新中)

imu预积分学习&#xff08;更新中&#xff09; IMU预积分可以做什么&#xff1f; 以上面那个经典图片为例子&#xff0c;IMU可以通过六轴数据&#xff0c;拿到第i帧和第j帧之间的相对位姿&#xff0c;这样不就可以去用来添加约束了吗 但是有一个比较大的问题是&#xff1a; I…

Explainable-ZSL

模型 体会 作者的实验做得很充足&#xff0c;但未提供可直接运行的代码

高等数学啃书汇总重难点(五)定积分

最近都在忙着刷题&#xff0c;尤其是政治和英语也开始加量复习了&#xff0c;该系列断更了将近2个月~不过最近在刷题的时候又遇到一些瓶颈&#xff0c;因此回归基础来整理一下知史点~ 总的来说&#xff0c;虽然第五章也是重中之重&#xff0c;定理数量也很多&#xff0c;但&…

REDIS命令

常见文件名 Redis-cli使用命令 1、启动Redis2、连接Redis3、停止Redis4、发送命令 1、redis-cli带参数运行&#xff0c;如&#xff1a;2、redis-cli不带参数运行&#xff0c;如&#xff1a;5、测试连通性key操作命令 获取所有键查询键是否存在删除键查询键类型移动键查询key的生…

【C++】继承 ⑧ ( 继承 + 组合 模式的类对象 构造函数 和 析构函数 调用规则 )

文章目录 一、继承 组合 模式的类对象 构造函数和析构函数调用规则1、场景说明2、调用规则 二、完整代码示例分析1、代码分析2、代码示例 一、继承 组合 模式的类对象 构造函数和析构函数调用规则 1、场景说明 如果一个类 既 继承了 基类 ,又 在类中 维护了一个 其它类型 的…

JAVA基础(JAVA SE)学习笔记(七)面向对象编程(进阶)

前言 1. 学习视频&#xff1a; 尚硅谷Java零基础全套视频教程(宋红康2023版&#xff0c;java入门自学必备)_哔哩哔哩_bilibili 2023最新Java学习路线 - 哔哩哔哩 第二阶段&#xff1a;Java面向对象编程 6.面向对象编程&#xff08;基础&#xff09; 7.面向对象编程&…