# 计算文件的MD5、SHA1、SHA256值

2017.12.20

# 1. windows

自带工具 certutil 或 第三方程序 HashCalc(http://www.slavasoft.com/hashcalc/)

certutil -hashfile d:\file.iso SHA1
1

d:\file.iso 文件名

SHA1 是算法,算法支持:MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

命令帮助:

certutil /?

动词:
  -dump             -- 转储配置信息或文件
  -dumpPFX          -- 转储 PFX 结构
  -asn              -- 分析 ASN.1 文件

  -decodehex        -- 解码十六进制编码的文件
  -decode           -- 解码 Base64 编码的文件
  -encode           -- 将文件编码为 Base64

  -deny             -- 拒绝挂起的申请
  -resubmit         -- 重新提交挂起的申请
  -setattributes    -- 为挂起申请设置属性
  -setextension     -- 为挂起申请设置扩展
  -revoke           -- 吊销证书
  -isvalid          -- 显示当前证书部署

  -getconfig        -- 获取默认配置字符串
  -ping             -- Ping Active Directory 证书服务申请接口
  -pingadmin        -- Ping Active Directory 证书服务管理接口
  -CAInfo           -- 显示 CA 信息
  -ca.cert          -- 检索 CA 的证书
  -ca.chain         -- 检索 CA 的证书链
  -GetCRL           -- 获取 CRL
  -CRL              -- 发布新的 CRL [或仅增量 CRL]
  -shutdown         -- 关闭 Active Directory 证书服务

  -installCert      -- 安装证书颁发机构证书
  -renewCert        -- 续订证书颁发机构证书

  -schema           -- 转储证书架构
  -view             -- 转储证书视图
  -db               -- 转储原始数据库
  -deleterow        -- 删除服务器数据库行

  -backup           -- 备份 Active Directory 证书服务
  -backupDB         -- 备份 Active Directory 证书服务数据库
  -backupKey        -- 备份 Active Directory 证书服务证书和私钥
  -restore          -- 还原 Active Directory 证书服务
  -restoreDB        -- 还原 Active Directory 证书服务数据库
  -restoreKey       -- 还原 Active Directory 证书服务证书和私钥
  -importPFX        -- 导入证书和私钥
  -dynamicfilelist  -- 显示动态文件列表
  -databaselocations -- 显示数据库位置
  -hashfile         -- 通过文件生成并显示加密哈希

  -store            -- 转储证书存储
  -enumstore        -- 枚举证书存储
  -addstore         -- 将证书添加到存储
  -delstore         -- 从存储删除证书
  -verifystore      -- 验证存储中的证书
  -repairstore      -- 修复密钥关联,或者更新证书属性或密钥安全描述符
  -viewstore        -- 转储证书存储
  -viewdelstore     -- 从存储删除证书
  -UI               -- 调用 CryptUI
  -attest           -- 验证密钥证明请求

  -dsPublish        -- 将证书或 CRL 发布到 Active Directory

  -ADTemplate       -- 显示 AD 模板
  -Template         -- 显示注册策略模板
  -TemplateCAs      -- 显示模板的 CA
  -CATemplates      -- 显示 CA 的模板
  -SetCASites       -- 管理 CA 的站点名称
  -enrollmentServerURL -- 显示、添加或删除与 CA 关联的注册服务器 URL
  -ADCA             -- 显示 AD CA
  -CA               -- 显示注册策略 CA
  -Policy           -- 显示注册策略
  -PolicyCache      -- 显示或删除注册策略缓存项目
  -CredStore        -- 显示、添加或删除凭据存储项目
  -InstallDefaultTemplates -- 安装默认的证书模板
  -URLCache         -- 显示或删除 URL 缓存项目
  -pulse            -- 以脉冲方式执行自动注册事件或 NGC 任务
  -MachineInfo      -- 显示 Active Directory 计算机对象信息
  -DCInfo           -- 显示域控制器信息
  -EntInfo          -- 显示企业信息
  -TCAInfo          -- 显示 CA 信息
  -SCInfo           -- 显示智能卡信息

  -SCRoots          -- 管理智能卡根证书

  -verifykeys       -- 验证公/私钥集
  -verify           -- 验证证书,CRL 或链
  -verifyCTL        -- 验证 AuthRoot 或不允许的证书 CTL
  -syncWithWU       -- 与 Windows 更新同步
  -generateSSTFromWU -- 通过 Windows 更新生成 SST
  -generatePinRulesCTL -- 生成捆绑规则 CTL
  -downloadOcsp     -- 下载 OCSP 响应并写入目录
  -generateHpkpHeader -- 使用指定文件或目录中的证书生成 HPKP 头
  -addEccCurve      -- 添加 ECC 曲线
  -deleteEccCurve   -- 删除 ECC 曲线
  -displayEccCurve  -- 显示 ECC 曲线
  -sign             -- 重新签名 CRL 或证书

  -vroot            -- 创建/删除 Web 虚拟根和文件共享
  -vocsproot        -- 创建/删除 OCSP Web Proxy 的 Web 虚拟根
  -addEnrollmentServer -- 添加注册服务器应用程序
  -deleteEnrollmentServer -- 删除注册服务器应用程序
  -addPolicyServer  -- 添加策略服务器应用程序
  -deletePolicyServer -- 删除策略服务器应用程序
  -oid              -- 显示 ObjectId 或设置显示名称
  -error            -- 显示错误代码消息文本
  -getreg           -- 显示注册表值
  -setreg           -- 设置注册表值
  -delreg           -- 删除注册表值

  -ImportKMS        -- 为密钥存档导入用户密钥和证书到服务器数据库
  -ImportCert       -- 将证书文件导入数据库
  -GetKey           -- 检索存档的私钥恢复 Blob,生成恢复脚本 或恢复存档的密钥
  -RecoverKey       -- 恢复存档的私钥
  -MergePFX         -- 合并 PFX 文件
  -ConvertEPF       -- 将 PFX 文件转换为 EPF 文件

  -add-chain        -- (-AddChain) 添加证书链
  -add-pre-chain    -- (-AddPrechain) 添加预植证书链
  -get-sth          -- (-GetSTH) 获取签名树头
  -get-sth-consistency -- (-GetSTHConsistency) 获取签名树头更改
  -get-proof-by-hash -- (-GetProofByHash) 获取哈希证明
  -get-entries      -- (-GetEntries) 获取项
  -get-roots        -- (-GetRoots) 获取根
  -get-entry-and-proof -- (-GetEntryAndProof) 获取项和证明
  -VerifyCT         -- 验证证书 SCT
  -?                -- 显示该用法消息


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

CertUtil: -? 命令成功完成。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131

# 2. Linux

#计算MD5
md5sum /opt/file.iso
#计算sha1
sha1sum /opt/file.iso
#计算SHA256
sha256sum  /opt/file.iso
1
2
3
4
5
6