Windows Linux 下使用使用系统自带命令计算MD5 SHA1等_win sha1sum_yiteeee的博客-程序员秘密

技术标签: 编程基础知识  MD5  

        从非官网上下文件,或者用某些加速软件下文件,都会存在被别人植入病毒或后门的风险,此时计算MD5等校验和就很有必要了。通常网站提供文件时会同时提供该文件的校验值,如MD5,SHA1,SHA256等,当文件下载完成后,计算它的校验值,如果和网站提供的一致,就可以放心使用了。

Linux 使用命令行计算校验值

Linux下可以直接使用md5sum/sha1sum/sha256sum等命令直接计算文件的对应校验值。

md5sum a.txt
sha1sum b.txt
sha256sum c.txt

Windows 使用命令行计算校验值

在命令行下,可以使用Windows自带的certutil命令来计算一个文件的校验值:

支持的哈希算法有:MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512

G:\>certutil -hashfile -?
用法:
  CertUtil [选项] -hashfile InFile [HashAlgorithm]
  通过文件生成并显示加密哈希

选项:
  -Unicode          -- 以 Unicode 编写重定向输出
  -gmt              -- 将时间显示为 GMT
  -seconds          -- 用秒和毫秒显示时间
  -v                -- 详细操作
  -privatekey       -- 显示密码和私钥数据
  -pin PIN                  -- 智能卡 PIN
  -sid WELL_KNOWN_SID_TYPE  -- 数字 SID
            22 -- 本地系统
            23 -- 本地服务
            24 -- 网络服务

哈希算法: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

CertUtil -?              -- 显示动词列表(命名列表)
CertUtil -hashfile -?    -- 显示 "hashfile" 动词的帮助文本
CertUtil -v -?           -- 显示所有动词的所有帮助文本

certutil的使用方法非常简单,语法如下:

            certutil -hashfile  文件名  哈希算法

例如,计算我当前目录下名为 abc.txt 的 SHA512 的值:

G:\>certutil -hashfile abc.txt SHA512
SHA512 的 abc.txt 哈希:
fb515afabfdc076e527931fd5ca85c3f0a838df7c7c0529ba3a8af0151e4c32799fb1d72e9dfc65111fb1376f30e96d7872908c735c4d889c8e27d8c97370cd8
CertUtil: -hashfile 命令成功完成。

关于校验值

校验值是一组16进制数,不区分大小写,校验值本身只与文件内容有关,只要文件内容不改变校验值就不变;如复制/剪切/粘贴,修改文件创建时间/访问时间,修改文件读/写/执行属性等操作都不会导致校验值发生改变。

当掌握快速计算校验值方法后,以后发送文件时就可以附带上该文件的校验值以防止文件中途损坏或被他人无意间修改。

扩展阅读

certutil介绍:https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil

MD5介绍:https://en.wikipedia.org/wiki/MD5

SHA介绍:https://en.wikipedia.org/wiki/Secure_Hash_Algorithms

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_326324545/article/details/89034245

智能推荐

Log4Net.AspNetCore 配置_weixin_30546189的博客-程序员秘密

1.引用Microsoft.Extensions.Logging.Log4Net.AspNetCore2.增加配置Program.cs public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args...

ORA-00942 表或视图不存在 问题的解决_是金子早晚要花光的博客-程序员秘密

基本上都是缺少权限:grant select on SYS.V_$LOCKED_OBJECT TO sb;grant select on  SYS.DBA_OBJECTS TO sb;grant select on SYS.V_$SESSION  TO sb;grant select on SYS.V_$PROCESS TO sb;在以sb登录,可以正常创建存储

设计模式之_使用指南_设计模式怎么用?_长脸先生的博客-程序员秘密

文章目录使用说明前言准备工作创建型模式创建型模式之_单例模式创建型模式之_原型模式创建型模式之_工厂模式创建型模型之_建造模式结构型模式结构型模式之_代理模式结构型模式之_适配器模式结构型模式之_桥接模式结构型模式之_装饰模式结构型模式之_外观模式结构型模式之_享元模式结构型模式之_组合模式行为型模式行为型模式之_状态模式行为型模式之_模板方法模式行为型模式之_策略模式行为型模式之_命令模式结构型模式之_责任链模式行为型模式之_观察者模式行为型模式之_中介模式行为型模式之_备忘录模式行为型模式之_解释器模式

TimePicker点击改变时间时java.lang.NullPointerException异常_ljb_blog的博客-程序员秘密

listview 跟 TimePicker使用时,点击TimePicker的向上和向下方向键修改时间是,会报错,06-23 00:58:01.255: E/AndroidRuntime(8123): FATAL EXCEPTION: main06-23 00:58:01.255: E/AndroidRuntime(8123): java.lang.NullPointerExcept

Android---37---SQLiteDatabase_37-base-date_hitol的博客-程序员秘密

Android提供了SQLDatabase代表一个数据库 (底层就是一个数据库文件)静态方法打开一个文件对应的数据库:static SQLiteDAtabase openDatabase (String path,SQLiteDatabase.Cursor Factory factory ,int flags)打开path文件所代表的SQL数据库。sta

随便推点

Spring-Boot-全栈开发:漂亮的邮件注册_程序员泥瓦匠的博客-程序员秘密

效果图注册流程1.[前端] 用户在注册页面提交注册信息;2.[后端] 校验用户提交的参数,有误直接返回错误信息,无误向下执行;3.[后端] 随机生成一个ID,将ID作为key,用户信息作为value,存入redis,设置时长;4.[后端] 生成激活链接,通过邮件系统发送邮件到用户邮箱5.[前端] 用户点击上图的“确认注册”;6.[后端] 校验value是否过期,校验邮箱是否已经注册...

使用 welcome-file-list 设置欢迎界面_beitian_china的博客-程序员秘密

简介在开发中用<welcome-file-list/>设置欢迎界面,始终报404,参考了网上所有现有的做法仍旧不能解决,最终发现失败的原因是因为请求被拦截。配置说明设置index.jsp页面:写一个简单的index.jsp页面,内容如下<html xmlns="http://www.w3.org/1999/xhtml"><head> ...

(15.1.3)三道值得思考的产品问题!_值得思考的产品研究方向_fei20121106的博客-程序员秘密

参加某个培训,需要回答三个测试问题,于是有了今天的文章。测试题目有三,一个一个答:第 1 题:推荐一篇你认为不错的,关于产品或者运营方面的文章,并简要说明推荐原因。其实,一开始其实我是想不起来的,我需要看看收藏夹和微信的收藏,恩。果然就是这篇了。 Heidi 格物志的《攻城师们期望的产品经理是什么样的?》不是讲交互,不是讲趋势,这是一个讲沟通的文章。喜欢这篇文章第一

STM32安装教程和J-link烧录驱动安装教程【第二天】_jlink驱动下载_「QT(C++)开发工程师」的博客-程序员秘密

STM32安装教程和J-link烧录驱动安装教程一、SOC二、安装简介三、STM32工程创建步骤四、J-link安装过程五、STM32型号

推荐文章

热门文章

相关标签