【md5sum命令刚生成md5文件,用该md5文件对原文件进行检查是否完整】居然显示不完整,离谱!

本文介绍了如何通过MD5sum命令以及Python实现来检查文件的完整性,包括生成MD5摘要文件、使用命令行工具和Python脚本进行校验,并展示了数据一致性检查的基本流程。
摘要由CSDN通过智能技术生成

MD5sum 是一个常用的哈希函数,用于生成文件的 MD5 摘要。通过比较文件的 MD5 摘要,可以检查文件是否完整。以下是使用 md5sum 命令检查文件完整性的步骤:

1. 生成 MD5 摘要文件

首先,生成原文件的 MD5 摘要文件。假设原文件名为 yourfile.txt,执行以下命令:

md5sum yourfile.txt > yourfile.md5

这将在同一目录下生成一个名为 yourfile.md5 的文件,其中包含原文件的 MD5 摘要。

2. 检查文件完整性

2.1. 用自带的命令检查,显示文件完整。

要检查原文件是否完整,可以使用以下命令:

md5sum -c yourfile.md5

如果原文件没有被篡改,命令会输出类似以下的信息:

yourfile.txt: OK

如果文件被篡改,输出可能会是:

yourfile.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

在这种情况下,说明文件已经被修改,其完整性可能受到破坏。

2.2. 如果是从网上找到到代码进行检查就会显示不完整。

import hashlib
import os
def calculate_md5(file_path):
    """计算文件的 MD5 哈希值"""
    md5 = hashlib.md5()
    with open(file_path, 'rb') as file:
        while chunk := file.read(8192):
            md5.update(chunk)
    return md5.hexdigest()
def check_integrity(file_path, expected_md5):
    """检查文件的完整性"""
    actual_md5 = calculate_md5(file_path)
    if actual_md5 == expected_md5:
        print(f"文件 '{file_path}' 完整。")
    else:
        print(f"文件 '{file_path}' 不完整。")
# 示例用法
file_path = r'E:\xingren\v0.5\XingRen_ver001.tar'
expected_md5 = r'E:\xingren\v0.5\XingRen_ver001.tar.md5'  # 替换为你预期的 MD5 哈希值
check_integrity(file_path, expected_md5)

在这里插入图片描述

结论,要用自带的md5sum命令检查原文件是否完整。

3. 数据一致性查验

name='mydatasets'			          					# 可以是一个文件夹
tar -cf ${name}.tar ${name}            				# 压缩数据
md5sum ${name}.tar > ${name}.tar.md5    	# 生成md5文件
md5sum -c ${name}.tar.md5                   		# 校验文件的完整性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值