python计算二进制bin文件hash值
2023-09-11 14:17:11 时间
一 hash的价值
hash值的唯一性仅仅在是同一个文件的情况下得到了同样的hash值,而哪怕错误一个字节也会得到不一样的hash值。
hash值得最大价值就是唯一性。这样在bin文件检查和校验这块用处非常大,做嵌入式的,经常会遇到版本无法找到情况,利用hash来查找bin文件是否一致,非常方便。
二 实例分析
python以简洁著称,下面给出一个python的例子:
import os import argparse import hashlib def check_file_hash(bin_file): f = open(bin_file,"rb") thehash = hashlib.md5() theline = f.readline() while(theline): thehash.update(theline) theline = f.readline() return thehash.hexdigest() def get_parser(): parser = argparse.ArgumentParser(description='change extension of files in a working directory') parser.add_argument('bin_file', metavar='BIN_FILE', type=str, nargs=1, help='the directory where to change extension') return parser def main(): parser = get_parser() args = vars(parser.parse_args()) bin_file = args['bin_file'][0] hash_value = check_file_hash(bin_file) print("hash_value",hash_value) if __name__=='__main__': main()
github路径:
https://github.com/DyLanCao/python_cabin.git
三 总结
能让计算机做的,尽量使用计算机。
相关文章
- Python判断文件是否存在的三种方法
- python新建txt文件,并逐行写入数据
- 关于Python ,requests的小技巧
- 玩转python爬虫之正则表达式
- python list数据写入文件
- python操作gmail
- 用Python的pandas框架操作Excel文件中的数据教程
- 【python cookbook】【数据结构与算法】16.筛选序列中的元素
- Python 入门(四)List和Tuple类型
- 【29】Windows找不到文件:‘depthaidepthai_demo_pythonpython.exe‘。请检查文件名是否正确后,再试一次。
- Python:python语言中与时间有关的库函数简介、安装、使用方法(获取当前时间/计算程序块前后运行时间/模型训练时间或耗费时间)之详细攻略
- Python:python语言中与时间有关的库函数简介、安装、使用方法(获取当前时间/计算程序块前后运行时间/模型训练时间或耗费时间)之详细攻略
- Python:wordcloud.wordcloud()函数的参数解析及其说明
- Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略
- 100天精通Python(数据分析篇)——第64天:Pandas分组groupby函数案例
- 已解决2. Set PROTOCOL_BUPFERS_PYTHON_iMPLEMENTATION=python (but this will use pure-Python parsing and w
- 〖Python WEB 自动化测试实战篇⑬〗- 实战 - 数据驱动在自动化测试中的应用
- python闭包锁住女神的心
- Python图像处理丨三种实现图像形态学转化运算模式
- 【华为机试真题 Python实现】竖直四子棋
- python之计算文件的crc32值(亲测可以计算大文件)
- python快速读取非常大的文件
- Python编程:安装python环境以及virtualenv虚拟环境
- python 星号*使用方法
- python读写json文件
- 【LeetCode】【Python题解】Single Number & Maximum Depth of Binary Tree
- python里使用reload函数
- 爬虫学习之-Python list 和 str 互转
- Python 头部 #!/usr/bin/python 和 #!/usr/bin/env 的区别
- 【异常】前端ERR! stack Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.
- python的文件读取基础入门(read(),readlines(),with.open())
- 【Python 实操】labelImg标注的xml格式转换为yolo的txt文件