[菜鸟实录] Python 计算二进制文件hash


先列举一些写代码中间遇到的常用命令:

1. 查看当前目录:

      import os

import sys

os.getcwd()  //得到当前所在目录

sys.path[0]  //得到当前运行的脚本所在的目录


2. 改变当前工作目录:

import os

os.chdir("d://Python_Lab//test")   //把当前工作目录转换到d:/Python_Lab/test

os.getcwd()  //得到当前所在目录,用以验证


3. 查询当前目录下文件列表

import sys

import os

path = sys.path[0]

list = os.listdir(path)


4. 查询当前变量类型

value = sh.hexdigest()

type(value)


---------------------------------------------------------------------------------------------------------------------------------

用特定方式计算二进制文件hash, 函数代码如下:

import os

import sys

import hashlib

def sha256_bin(filename):

f = open( filename, 'rb' )

fdata = f.read()

fMidHash = 0

for i in range(0, len(fdata)/256)

fMidData = fdata[ i*256 : i*256+256 ]

sh = hashlib.sha256()

sh = update(fMidData)

hexdigest = sh.hexdigest()

fMidHash = fMidHash ^ int(hexdigest, 16)

hashf = open( 'hash,txt', 'w')

hashf.write(hex(fMidData))

hashf.close()

print( hex(fMidHash))

f.close()

return


path = sys.path[0]

filename - 'file.bin'

sha256_bin(path+'\\'+filename)


运行结果:

hash.txt 中:

“0x5380c85425c59769a860eeacd4018a7b6a335fa61f4cc516e4cde010d70b9022L”


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值