生成、查看文件的MD5、SHA1、SHA2、SHA3值 您所在的位置:网站首页 生成迅雷种子的软件有哪些名字 生成、查看文件的MD5、SHA1、SHA2、SHA3值

生成、查看文件的MD5、SHA1、SHA2、SHA3值

2024-07-15 15:12| 来源: 网络整理| 查看: 265

文章目录 1. 按2. 介绍2.1. MD52.2. SHA-12.3. SHA-22.4. SHA-3 3. Linux4. Windows4.1. 生成4.2. 单个文件4.3. 当前目录下的所有文件4.4. 查看 5. Python5.1. 代码5.2. 结果

1. 按

操作系统自带的一般都有相关的命令,在Linux系统下可以使用bash,Windows下用CMD均可以轻松地生成文件的MD5、SHA、SHA256值,另外Windows下还可以直接查看。 此外我们还可以使用Python进行编写相关的程序,Windows目前支持到了SHA2,不过可以编写程序实现支持SHA3。

2. 介绍 2.1. MD5

MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value)

2.2. SHA-1

SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。

2.3. SHA-2

SHA256算法使用的哈希值长度是256位。

成员名称为避免混淆使用的非正式名称SHASHA-0SHA-1SHA-1SHA-224SHA-2SHA-256SHA-2SHA-384SHA-2SHA-512SHA-2 2.4. SHA-3 SHA-3第三代安全散列算法(Secure Hash Algorithm 3),之前名为Keccak(念作/ˈkɛtʃæk/或/kɛtʃɑːk/))算法,设计者宣称在 Intel Core 2 的CPU上面,此算法的性能是12.5cpb(每字节周期数,cycles per byte)。不过,在硬件实做上面,这个算法比起其他算法明显的快上很多。2012年10月2日,Keccak 被选为NIST散列函数竞赛的胜利者。SHA-3并不是要取代SHA-2,因为SHA-2并没有出现明显的弱点。由于对MD5、SHA-0和SHA-1出现成功的破解,NIST感觉需要一个与之前算法不同的,可替换的加密散列算法,也就是SHA-3。sha3 官网 FIPS 202 - SHA-3 Standard(现行标准) 3. Linux md5sum file1.zip >> MD5.txt sha1sum file1.zip >> SHA1.txt sha256sum file1.zip >> SHA256.txt 4. Windows 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 4.1. 生成 4.2. 单个文件 certutil -hashfile file1.zip MD5 >> MD5.txt certutil -hashfile file1.zip SHA1 >>SHA1.txt certutil -hashfile file1.zip SHA256 >> SHA256.txt 4.3. 当前目录下的所有文件 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 4.4. 查看 certutil -hashfile yourfilename.ext MD5 certutil -hashfile yourfilename.ext SHA1 certutil -hashfile yourfilename.ext SHA256 5. Python

主要用到了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.

5.1. 代码 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')) 5.2. 结果

均是对如下的一个Win10的镜像文件做的信息摘要。 在这里插入图片描述 测试时应该关掉再重新开,不然可能会利用之前的计算信息,导致后面计算速度非常快从而造成结果不准确。

3c4da086657215c8d2729259db7ef7bd 0:00:19.120629 ed65cc6f3b4f90fdbdab949ba6286708e8dcf0f1 0:00:22.649357 bef2ba008c194e140b0a005e16ca6ba40eee48b2bc82f7c7d332aa32 0:00:22.830891 7d1644a5bc130d0e819791a6f950113e1e03948df2376589cd0db203a6f3a07b 0:00:25.096450 b14aec8892da125c12a9cce556642ac9c270d4d2bf29d13348bd12499b5d97b7b6471b88222d8bfc4bf423a4cd04d874a797a931a7225a363be401f627236129 0:00:35.661646 6e2566102000d2545415640b4a6e26c7fbb2285d9d69e9522a2b784f 0:00:25.355275 2ecd117f7bc90775f30ace54396d4fce6244426d188781cf0eeaf62ee7571e00 0:00:26.699698 e6841e3e247727e3bf67e0cfbf8aa85a38669de0164963f0e56d776af17cb9eee090bbd3e947a3dccdffe3a6730ebe3ff6951d043a51549d2b07318792685d12 0:00:39.906140


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有