python语句计算md5值
md5值就是使用MD5 的数据摘要算法计算出来的一串数值。
用例:
- 新建某一文件(作为测试),拿到文件的路径
import hashlib
import os
file_path = 'D:/*/*/*/pangyuan.txt'
def get_md5_01(file_path):
if os.path.isfile(file_path):
f = open(file_path, 'rb')
f.seek(0, os.SEEK_END)
fileLen=f.tell()
f.seek(0, 0)
body = f.read(fileLen)
# print(str(body))
# 拿到二进制数据
md5_obj = hashlib.md5(body)
# 二进制转为十六进制
hash_code = md5_obj.hexdigest()
f.close()
# hash_code.lower() 字符串转小写
# hash_code.upper() 字符串转大写
return hash_code.upper()
print(get_md5_01(file_path))
运行结果:
- 大写:
- 小写:
python计算hashcode值
- python中的hash() 用于获取取一个对象(字符串或者数值等)的哈希值
用例:
import *
def convert_n_bytes(n, b):
bits = b * 8
return (n + 2 ** (bits - 1)) % 2 ** bits - 2 ** (bits - 1)
def convert_4_bytes(n):
return convert_n_bytes(n, 4)
def getHashCode(str):
h = 0
n = len(str)
for i, c in enumerate(str):
h = h + ord(c) * 31 ** (n - 1 - i)
return convert_4_bytes(h)
# 直接拿上面的md5字符串进行验证
print(getHashCode(md5_01))
*注意字符串的大小写计算出的hashcode值不相同
结果:
- 大写:
- 小写