python计算二进制bin文件hash值
一 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计算二进制bin文件hash值的更多相关文章
- 利用python计算windows全盘文件md5值的脚本
import hashlib import os import time import configparser import uuid def test_file_md5(file_path): t ...
- C++ 文件hash值 BT种子的hash值
这个两个东东,是我在网上找到的.小小的修改了一下方便大家使用. 一个是 获取文件哈希值的,另外一个是获取torrent文件磁力链接的哈希值. 整理好的类下载地址: 文件hash值: http://pa ...
- python 通过文件路径获取文件hash值
import hashlib import os,sys def CalcSha1(filepath): with open(filepath,'rb') as f: sha1obj = hashli ...
- java计算过G文件md5 值计算
package io.bigdata; import java.io.File; import java.io.FileInputStream; import java.io.IOException; ...
- python用二进制读取文件
python二进制读取文件 很多时候,都需要用到二进制读取文件.毕竟很多信息不是以文本的形式存储.例如:图片,音乐等等.这些东西都是有规则的二进制文件. 在python中,二进制读取采用rb的方式. ...
- 快速改变文件hash值的方法
查看哈希值命令 Linux : md5sum + 文件名 $ md5sum .png fe5c3f5ef1d207bc1b646911b463c907 .png Windows : certutil ...
- windows下cmd命令行计算文件hash值
命令:certutil -hashfile certutil -hashfile D:\.exe MD5 certutil -hashfile D:\.exe SHA1 certutil -hashf ...
- 数学思想方法-python计算战(8)-机器视觉-二值化
二值化 hreshold Applies a fixed-level threshold to each array element. C++: double threshold(InputArray ...
- 获取文件hash值
public string getFilesMD5Hash(string file) { //MD5 hash provider for computing the ...
- 在Win10右键菜单添加校验文件Hash值命令
把以下代码保存为reg文件导入注册表即可. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\文件哈希校验] " ...
随机推荐
- 基于.NET实现Matlab备用方案
基于.NET实现Matlab备用方案 今日圈内的朋友都在刷这样的消息: 正值哈工大百年校庆之际,哈工大.哈工程的师生收到了MATLAB软件停止服务的邮件,在与 MATLAB 开发公司 MathWork ...
- (C语言)每日代码||2023.12.21||C语言预处理命令,#define、#line、__LINE__、__FILE__
#include <stdio.h> #define AAA 111 void test() { printf("__LINE__ = % d\n", __LINE__ ...
- 小知识:什么叫做workaround?
技术人当遇到具体问题,能给出的各种解决方案,有一种类型叫做workaround,翻译过来通常为"应变方法"."变通方法": 其实这种方式通常是没有找到根本的解决 ...
- Delphi - Case 可以多条件 指定在一起,今天才知道;逗号分隔
- JS leetcode 买卖股票的最佳时机 题解分析,我离职了。
壹 ❀ 引 昨天下班后,还是找经理提出了辞职,没有犹豫的裸辞,今天与人事的对话不小心被后台的同事听到,一下在公司传开了,下午我与同事们多人对线,被他们的消息轰炸....没错,我真的要走了. 因为什么原 ...
- NC15033 小G有一个大树
题目链接 题目 题目描述 小G想要把自己家院子里的橘子树搬到家门口(QAQ..就当小G是大力水手吧) 可是小G是个平衡性灰常灰常差的人,他想找到一个这个橘子树的平衡点. 怎么描述这棵树呢...就把它看 ...
- Linux实现指定用户sftp传输,静止ssh登录
1.环境 名称 ip server 192.168.1.1 client 192.168.1.2 2.服务器创建repl用户 useradd -m -d /home/repl -s /usr/sbin ...
- Vue+SpringBoot+ElementUI实战学生管理系统-3.表结构设计
1.章节介绍 前一篇介绍了如何搭建前端工程,这一篇讲一下表结构设计,需要的朋友可以拿去自己定制.:) 2.获取源码 源码是捐赠方式获取,详细请QQ联系我 :)! 3.项目截图 登录页 列表操作 动态图 ...
- Vulnhub靶机网卡启动失败(Raise network interfaces)
问题 使用一些Linux靶机进行搭建后可能会出现无法搜索到IP的情况,并且会在系统启动时报错,类似下图所示 这个主要是因为vulnhub上的镜像由于搭建环境.版本等问题不适配,网卡没有正确识别导致的, ...
- 程序员应具备的PS基本技能(三):程序员使用PSD源文件切图
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...