python语句计算文件的md5值以及字符串的hashcode值

40 篇文章 0 订阅
2 篇文章 0 订阅

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值不相同

结果:

  • 大写:
    在这里插入图片描述
  • 小写
    在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值