赞
踩
操作系统自带的一般都有相关的命令,在Linux系统下可以使用bash,Windows下用CMD均可以轻松地生成文件的MD5、SHA、SHA256值,另外Windows下还可以直接查看。
此外我们还可以使用Python进行编写相关的程序,Windows目前支持到了SHA2,不过可以编写程序实现支持SHA3。
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value)
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
SHA256算法使用的哈希值长度是256位。
成员名称 | 为避免混淆使用的非正式名称 |
---|---|
SHA | SHA-0 |
SHA-1 | SHA-1 |
SHA-224 | SHA-2 |
SHA-256 | SHA-2 |
SHA-384 | SHA-2 |
SHA-512 | SHA-2 |
md5sum file1.zip >> MD5.txt
sha1sum file1.zip >> SHA1.txt
sha256sum file1.zip >> SHA256.txt
C:\Users\Coco>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 -hashfile file1.zip MD5 >> MD5.txt
certutil -hashfile file1.zip SHA1 >>SHA1.txt
certutil -hashfile file1.zip SHA256 >> SHA256.txt
title md5批量生成脚本
setlocal enabledelayedexpansion
%~d0
cd %~dp0
if exist md5.txt del md5.txt
for /R %%s in (*) do (
certutil -hashfile "%%s" MD5
)>>md5.txt
certutil -hashfile yourfilename.ext MD5
certutil -hashfile yourfilename.ext SHA1
certutil -hashfile yourfilename.ext SHA256
主要用到了hashlib
Named constructor functions are also available, these are faster than using new(name):
md5(), sha1(), sha224(), sha256(), sha384(), sha512(), blake2b(), blake2s(),
sha3_224, sha3_256, sha3_384, sha3_512, shake_128, and shake_256.
import hashlib import os from datetime import datetime def getHash(filePath, hashRule): if not os.path.isfile(filePath): return print(hashRule) starttime = datetime.now() f = open(filePath,'rb') while True: b = f.read(1024*1024*8) if not b : break hashRule.update(b) f.close() # 输出文件的md5值以及记录运行时间 print(hashRule.hexdigest()) print(datetime.now()-starttime) print() filePath = 'cn_windows_10_business_editions_version_2004_x64_dvd_c59a4f91.iso' getHash(filePath, hashlib.md5()) # getHash(filePath, hashlib.sha1()) # getHash(filePath, hashlib.sha224()) # getHash(filePath, hashlib.sha256()) # getHash(filePath, hashlib.sha512()) # getHash(filePath, hashlib.new('sha3_224')) # getHash(filePath, hashlib.new('sha3_256')) # getHash(filePath, hashlib.new('sha3_512'))
均是对如下的一个Win10的镜像文件做的信息摘要。
测试时应该关掉再重新开,不然可能会利用之前的计算信息,导致后面计算速度非常快从而造成结果不准确。
<md5 HASH object @ 0x00000280C4800A30>
3c4da086657215c8d2729259db7ef7bd
0:00:19.120629
<sha1 HASH object @ 0x000002B4179E0A30>
ed65cc6f3b4f90fdbdab949ba6286708e8dcf0f1
0:00:22.649357
<sha224 HASH object @ 0x000002977E740A30>
bef2ba008c194e140b0a005e16ca6ba40eee48b2bc82f7c7d332aa32
0:00:22.830891
<sha256 HASH object @ 0x0000021DDB6B0A30>
7d1644a5bc130d0e819791a6f950113e1e03948df2376589cd0db203a6f3a07b
0:00:25.096450
<sha512 HASH object @ 0x000002485C9B0A30>
b14aec8892da125c12a9cce556642ac9c270d4d2bf29d13348bd12499b5d97b7b6471b88222d8bfc4bf423a4cd04d874a797a931a7225a363be401f627236129
0:00:35.661646
<_sha3.sha3_224 object at 0x000001D09E601D30>
6e2566102000d2545415640b4a6e26c7fbb2285d9d69e9522a2b784f
0:00:25.355275
<_sha3.sha3_256 object at 0x0000014C3F871D30>
2ecd117f7bc90775f30ace54396d4fce6244426d188781cf0eeaf62ee7571e00
0:00:26.699698
<_sha3.sha3_512 object at 0x0000018FE64F1D30>
e6841e3e247727e3bf67e0cfbf8aa85a38669de0164963f0e56d776af17cb9eee090bbd3e947a3dccdffe3a6730ebe3ff6951d043a51549d2b07318792685d12
0:00:39.906140
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。