求文件的hash值(基于SHA3的Hash)
import hashlib
import tkinter
from tkinter import filedialog
import pyperclip def fileHash(fileName):
m=hashlib.sha384() #可以根据需求来选择md5,256,384,512
with open(fileName,'rb') as file: #'rb'以二进制的格式打开一个文件
while True:
data=file.read(4096) #read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。
if not data:
break
m.update(data) #Continue hashing of a message by consuming the next chunk of data.
return m.hexdigest() def chooseFile():
root=tkinter.Tk() # 创建一个Tkinter.Tk()实例
root.withdraw() # 将Tkinter.Tk()实例隐藏
filename=tkinter.filedialog.askopenfilename(title=u'请选择文件') # 选择打开什么文件,返回文件名
return filename def pyperClip():
filename=chooseFile()
filehash=fileHash(filename)
pyperclip.copy(filehash)
print(filehash) if __name__ == "__main__":
pyperClip()
求文件的hash值(基于SHA3的Hash)的更多相关文章
- C++ 文件hash值 BT种子的hash值
这个两个东东,是我在网上找到的.小小的修改了一下方便大家使用. 一个是 获取文件哈希值的,另外一个是获取torrent文件磁力链接的哈希值. 整理好的类下载地址: 文件hash值: http://pa ...
- C#实现像Git那样计算Hash值
从Git Tip of the Week: Objects一文中得知,Git是这样计算提交内容的Hash值的: Hash算法用的是SHA1 计算前,会在内容前面添加"blob 内容长度\0& ...
- HashMap的底层实现以及解决hash值冲突的方式
class HashMap<K,V> extends AbstractMap<K,V> HashMap put() HashMap get() 1.put() HashMa ...
- hash进阶:使用字符串hash乱搞的姿势
前言 此文主要介绍hash的各种乱搞方法,hash入门请参照我之前这篇文章 不好意思hash真的可以为所欲为 在开头先放一下题表(其实就是我题解中的hash题目qwq) 查询子串hash值 必备的入门 ...
- 使用Hash直接登录Windows(HASH传递)
抓取windows hash值 得到administrator的hash: 598DDCE2660D3193AAD3B435B51404EE:2D20D252A479F485CDF5E171D9398 ...
- python 通过文件路径获取文件hash值
import hashlib import os,sys def CalcSha1(filepath): with open(filepath,'rb') as f: sha1obj = hashli ...
- C# 计算文件的 Hash 值
/// <summary> /// 提供用于计算指定文件哈希值的方法 /// <example>例如计算文件的MD5值: /// <code> /// String ...
- JAVA-读取文件部分内容计算HASH值
对于一些大文件,有时会需要计算部分内容的Hash,下面的函数计算了 文件头尾各1M,中间跳跃100M取10K 以及文件大小的Hash值 public static String CalHash(Str ...
- 【转】Java计算文件的hash值
原文地址:http://blog.csdn.net/qq_25646191/article/details/78863110 如何知道一个文件是否改变了呢?当然是用比较文件hash值的方法,文件has ...
随机推荐
- USB开发库STSW-STM32121文件分析(转)
源: USB开发库STSW-STM32121文件分析
- EDK II之USB协议栈的实现简介
本文旨在简单介绍一下 UEFI中USB协议栈的代码框架: 主要包括: USB主控制器驱动(HCDI:EFI_USB2_HC_PROTOCOL) USB总线驱动(USBDI:EFI_USB_IO_PRO ...
- Python文件读写、StringIO和BytesIO
1 IO的含义 在计算机中,IO是Input/Output的简写,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就 ...
- 利用Python实现多线程聊天功能
#-*- coding:utf-8 -*- from threading import Thread from socket import * #1.实现接收消息 def recvDate(): wh ...
- redhat7.4+shell离线安装docker
首先要准备离线安装包 1.docker官网下载 2.docker-compose gitbub官网下载 3.我的docker-compose install-docker.sh #!/bin/sh u ...
- shell 变量相关的命令
变量="变量" readonly 变量名="变量" 表示设置该变量为只读变量 ,这个变量不能别改变 echo $变量名 set 显示本地所有的变量 unse ...
- 尚硅谷面试第一季-15Mysql什么时候建索引
课堂重点: MySQL的官方定义: 索引的优势: 索引的劣势: 那些情况下需要建立索引: 那些情况下不要建立索引: 何为过滤性:例如在数据库字段里,手机号/身份证号这些字段是过滤性好的字段,而性别则是 ...
- LOIC
Pre: http://sourceforge.net/projects/loic Getting the Software To DDos, first your going to have to ...
- Flash Memory 简介【转】
本文转载自:https://linux.codingbelief.com/zh/storage/emmc/ Flash Memory 是一种非易失性的存储器.在嵌入式系统中通常用于存放系统.应用和数据 ...
- vim插件的安装方式 -- vim注释插件和doxygen函数注释生成插件-ctrlp插件-tabular等号对齐 插件
使用unzip的时候 指定 -d选项, 是说明解压到的 目标地址. 这个参数还是比较方便的, 比直接unzip到当前目录, 然后在去拷贝到目标目录, 然后再删除当前目录中的解压文件夹, 方便多了. 使 ...