当前位置: 首页 > news >正文

python 笔记 之 计算md5值

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

'''
计算md5值

'''
import codecs
import hashlib
import os

# @CyTime.getFunctionRunTime
def getStringMd5(string): #计算字符串的MD5值
    md5 = hashlib.md5(string.encode()).hexdigest()
    return md5
#计算文件的MD5值:方法一,小文件small
# @CyTime.getFunctionRunTime
def getSmallFileMd5(file):
    if os.path.isfile(file):
        with codecs.open(file, 'rb') as f:
            md5 = hashlib.md5(f.read()).hexdigest()
            return md5

# 计算文件的MD5值:方法二,大文件Large,比方法一快
# @CyTime.getFunctionRunTime
def getLargeFileMd5(file):
    if os.path.isfile(file):
        myhash = hashlib.md5()
        with codecs.open(file, 'rb') as f:
            while 1:
                b = f.read(8096)
                if not b:
                    break
                myhash.update(b)
            md5 = myhash.hexdigest()
            return md5

def demo():
    url = "V:\MyVideo\python\Python 正则表达式.docx"
    print(getStringMd5(url))
    print(getSmallFileMd5(url))
    print(getLargeFileMd5(url))

 


Windows命令查看文件MD5
certutil -hashfile yourfilename.ext MD5
certutil -hashfile yourfilename.ext SHA1
certutil -hashfile yourfilename.ext SHA256

certutil -hashfile data.csv MD5

 

转载于:https://my.oschina.net/u/3824134/blog/1810540

相关文章:

  • CCBN 2017:新华三融媒云展区上演“云”之旅!
  • windows系统中如何启动两个tomcat
  • 中国物联网在哪些方向具有无与伦比的发展优势?
  • 实现一个智能聊天机器人「图灵机器人,Java,recyclerView」
  • 开封:发展网络经济为智慧城市插上腾飞翅膀
  • 港大医院携手8Manage 实现一站式电子采购管理
  • Optional与Mybatis能否一起
  • https://segmentfault.com/a/1190000012844836---------关于SpringBoot上传图片的几种方式
  • 微软宣布Skype将从7月1日起停止旧系统支持
  • 欧比特业绩稳增长,支撑卫星大数据战略加速落地
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 大数据产业重在应用 防止盲目建设数据中心
  • 实现基于zoom平台上的oss额外存储
  • 获彼得·泰尔青睐的在线借贷创企Kreditech获PayU 110万欧元投资
  • spring boot 传输数组类型数据
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • HTTP--网络协议分层,http历史(二)
  • JavaScript创建对象的四种方式
  • JavaScript中的对象个人分享
  • Java教程_软件开发基础
  • js如何打印object对象
  • leetcode386. Lexicographical Numbers
  • Markdown 语法简单说明
  • php中curl和soap方式请求服务超时问题
  • select2 取值 遍历 设置默认值
  • SpingCloudBus整合RabbitMQ
  • ucore操作系统实验笔记 - 重新理解中断
  • 构造函数(constructor)与原型链(prototype)关系
  • 诡异!React stopPropagation失灵
  • 使用parted解决大于2T的磁盘分区
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 赢得Docker挑战最佳实践
  • 容器镜像
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • %@ page import=%的用法
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (C语言)二分查找 超详细
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net 反编译_.net反编译的相关问题
  • .NET使用存储过程实现对数据库的增删改查
  • .NET是什么
  • @Autowired多个相同类型bean装配问题
  • @取消转义
  • [ C++ ] STL_list 使用及其模拟实现
  • [] 与 [[]], -gt 与 > 的比较
  • [04]Web前端进阶—JS伪数组
  • [17]JAVAEE-HTTP协议
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [android] 切换界面的通用处理