文章目录

  • 校验和、哈希值是什么?
    • 校验和的简单示例
    • 校验和的使用
    • 校验和计算器
    • 译者注

校验和、哈希值是什么?

校验和checksum是对一组数据(通常是一个文件)进行算法-加密哈希函数运算得到的结果。通过比较你手头文件和原始文件的校验和,能够确保你对原始文件的拷贝是真的并且不存在错误。

校验和通常也被称之为哈希值哈希和哈希码,或简称为哈希hash

Krzysztof Zmij / E+ / Getty Images

校验和的简单示例

校验和加密哈希函数的概念听起来似乎很复杂,也不值得关注,但我们建议你关注它。校验和实际上没有那么难以理解,也没有那么难生成。

我们以一组简单的示例开始,希望能展示校验和的魅力,让它没那么令人生畏。下面这个短语的MD5校验和是一长串字符,这串字符代表了这个短语。

为了达到目的,下面这个短语和上面的基本一样。但是我们做了点改变:删除了句号。哪怕只是这一点点改变,校验和就完全不一样了。

就像你看到的,仅仅是文件中一点细微的改变,就会产生完全不一样的校验和,通过比对校验和,你可以清晰地只这是两个不同的文件。

校验和的使用

假如你下载了一个软件的更新补丁。这个补丁可能是个大文件需要好长时间才能下载完毕。

一旦下载完毕,你怎么知道你下载的文件是正确的?如果在下载过程中遗失了几个bit的数据,或者你下载的文件根本就不是软件方想要提供的正确文件该怎么办?如果更新软件的补丁根本不是软件开发者提供的,这绝对会给你造成巨大的麻烦。

这就是校验和让你放心的地方:假设提供下载软件的网站,在下载文件的旁边附上校验和数据,之后你能通过校验和计算器(查看下方有关校验和计算器)得到下载文件的校验和

例如,网站上提供的下载文件的MD5校验和:5a828ca5302b19ae8c7a66149f3e1e98。之后你便可以用使用相同的加密哈希算法-在这个例子中是MD5,在自己的校验和计算上,得到已下载文件的校验和。这两个校验和是一样的吗?如果是一样的,你就可以百分百确认,这两个文件是一模一样的。

校验和不一致?这可能意味着有人在你不知情的情况下用恶意文件替换了原有的下载文件,或是你自己不小心打开修改了下载文件,或是网络连接中断导致文件没有下载完整(译者注:这种情况还蛮普遍的)。试试重新下载之后,再计算一次新文件的校验和进行比对。

校验和也用于:验证从非官方途径下载的文件是否有效并且没有被恶意替换。只需要比较你下载文件与源文件的hash

校验和计算器

校验和计算器是一种用来计算校验和的工具。市面上有非常多校验和计算器,每一种都支持不同的加密哈希函数组合。

一个知名的免费校验和计算器是 Microsoft File Checksum Integrity Verifier,简称FCIVFCIV 仅支持MD5SHA-1加密哈希算法,但这两个是目前为止最流行的。

可以参见以下FCIV的完整教程 how to verify file integrity in Windows with FCIV ,FCIV是一个命令行工具,但是非常简单易用。

其他Windows的免费校验和计算器还有 IgorWare Hasher,它非常方便不需要额外安装任何东西。如果你不习惯使用命令行工具,这个工具会更好,它支持MD5SHA-1CRC32加密哈希算法.你可以用IgorWare Hasher得到文本或文件的校验和。

JDigest是一个跨平台,适用于Windows、macOS和Linux的开源校验计算器。

Note:一个校验和计算器不一定支持所有可能的加密哈希算法,在选择校验和计算器时,要注意它是否支持你想要下载的文件旁标注的加密哈希算法类型,以进行正确的比对。

译者注

在linux中,经常使用md5sum 命令来获取文件的MD5哈希值/校验和

md5sum test.txt

校验和checksum、哈希值是什么?相关推荐

  1. 校验和(Checksum)算法-概述

    校验和(Checksum)算法-概述 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 1.什么是校验和(Checksum) Check ...

  2. HTML加js实现计算文件哈希值,HTML5 File API 配合 Web Worker 计算大文件 SHA3 Hash 值

    这学期的安全学课程有个作业,内容是写一个软件实现 SHA3 Hash 值的快速计算.想一想老师这么安排,大致上也有一种推广新的密码学算法的意图.既然希望应用起来,天然跨平台的 Web 显然是一项非常具 ...

  3. 数据库检测数据一致性时的哈希值不一致的原因

    检测数据一致性时的哈希值不一致的原因 内容目录 检测数据一致性时的哈希值不一致的原因 一.问题介绍 二.哈希值不同的原因有什么 三.问题排查 四.日常小技巧 今天在做一个数据需求的时候,大概要把几张有 ...

  4. 通过python利用哈希值实现比较两个文件的一致性

    背景 近来学习到python的内置函数hash(),深入发现通过python的哈希值可以做很多的事情,最典型的可能就是文件加密了,在我们现实生活中大约有如下一些用途: 加密网站注册用户的密码. 网站用 ...

  5. 图像相似度计算之哈希值方法OpenCV实现

    感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个"指纹"(fingerprint)字符串,然后比较不同图像的指纹.结果越接近,就说明 ...

  6. Merkle 树——空间换时间,分而治之的hash表,通过根节点是由它的两个子节点内容的哈希值组成来校验数据完整性,定位篡改的数据位置...

    Merkle 树 图 1.5.6.1 - Merkle 树示例 默克尔树(又叫哈希树)是一种二叉树,由一个根节点.一组中间节点和一组叶节点组成.最下面的叶节点包含存储数据或其哈希值,每个中间节点是它的 ...

  7. 2021-11-18哈希值

    1.哈希值 DemoHashCode.java package HashCode;/** 哈希值:是一个十进制的整数,由系统随机给出(就是对象的地址值,是一个逻辑地址,是模拟出来得到的地址,不是数据实 ...

  8. boost::hash_combine模块实现json哈希值的测试程序

    boost::hash_combine模块实现json哈希值的测试程序 实现功能 C++实现代码 实现功能 boost::hash_combine模块实现json哈希值的测试程序 C++实现代码 #i ...

  9. boost :: hash_combine从类的不同成员生成哈希值

    boost :: hash_combine从类的不同成员生成哈希值 实现功能 C++实现代码 实现功能 Boost的container_hash模块,boost :: hash_combine从类的不 ...

  10. 使用 Solid 私有化存储 IPFS 文件哈希值

    背景 星际文件系统 IPFS(InterPlanetary File System)是一个面向全球的.点对点的分布式文件系统,目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议(HTTP),将 ...

最新文章

  1. java 查询功能_java利用反射实现查询功能
  2. 关于A/D方面的小结
  3. 机器学习从入门到精通150讲(一)-推荐系统经典模型Wide Deep(附部分代码)
  4. 「LG2664 树上游戏」
  5. 离线迁移服务(闪电立方) > 常见问题 > 数据迁移
  6. 让远程传输大文件变得更快
  7. 使用缓冲字符流BufferedReader和文件字符流FileReader读取文本文件
  8. 智迈职称计算机一练通破解版,智迈初级会计职称考试软件
  9. FileZilla Client中文乱码
  10. 计算机主机三维模型,三维模型
  11. 讲课大师 把微信消息同步转发到企业微信中
  12. c#_工大租车小系统
  13. ubuntu网络检查服务器端口是否开放
  14. (转) 那些无用的人----《人类简史》读后感
  15. MFC用户名和密码的登录界面设计
  16. Android APP性能分析工具大全
  17. 解决electron-vue打包错误问题,nsis和winCodeSign下载失败问题
  18. 教育系统APP(二)
  19. 如何进行MySQL主从复制与读写分离的配置
  20. 机器人上使用超声波传感器的原理

热门文章

  1. 红旗河工程,南水北调西线工程,藏水入疆工程三合一
  2. css中大于号是什么意思是,CSS里的大于号是什么意思?
  3. 高级会计职称计算机考什么,高级会计师考试要考哪些科目
  4. HTML+CSS基础知识2
  5. Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”
  6. Dynamics CRM开发学习-插件01
  7. 美通社企业新闻汇总 | 2019.2.20 | 华为云新加坡大区开服;默克就提高CRISPR基因组编辑方法获首个美国专利...
  8. python数据类型转换、将数值转换为以万为单位的数_如何把Excel表格中金额为元的数转换成以万元为单位...
  9. python爬取饿了么_python爬取饿了么
  10. 欧姆龙 Omorm FINS通讯实例C#