python文件的md5加密方法_MisterZZL的博客-程序员秘密

技术标签: Python  

    本文实例讲述了python文件的md5加密方法。分享给大家供大家参考,具体如下:

一、简单模式:

from hashlib import md5

def md5_file(name):

  m = md5()

  a_file = open(name, 'rb') #需要使用二进制格式读取文件内容

  m.update(a_file.read())

  a_file.close()

  return m.hexdigest()

if __main__ == '__init__':

  print md5_file('d:/test.txt')

二 、大文件速度更快一点的方式:

#!/usr/bin/python

#encoding=utf-8

import io

import sys

import hashlib

import string

def printUsage():

  print ('''''Usage: [python] pymd5sum.py <filename>''')

def main():

  if(sys.argv.__len__()==2):

    #print(sys.argv[1])

    m = hashlib.md5()

    file = io.FileIO(sys.argv[1],'r')

    bytes = file.read(1024)

    while(bytes != b''):

      m.update(bytes)

      bytes = file.read(1024)

    file.close()

    #md5value = ""

    md5value = m.hexdigest()

    print(md5value+"\t"+sys.argv[1])

    #dest = io.FileIO(sys.argv[1]+".CHECKSUM.md5",'w')

    #dest.write(md5value)

    #dest.close()

  else:

    printUsage()

main()

转载于脚本之家:https://www.jb51.net/article/82001.htm

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_21437451/article/details/81107156

智能推荐

格式工厂可以视频批量操作-加水印、旋转、格式等_牛八少爷的博客-程序员秘密

使用格式工厂批量视频旋转90度为例;1. 打开格式工厂,选择视频目录下你的视频对应格式,我这里选择MP4格式;2.点击“输出配置”、、3. 在“视频设置“中“高级”面板下的“旋转”,右是顺时针90度,左是逆时针90度,4.添加文件和设置输出路径5.点击“开始”...

数据结构基础之带尾结点的单循环链表_仅有尾结点指针的单循环链表_范特西1213的博客-程序员秘密

带尾结点指针的单循环链表结构//带尾结点的单循环链表//可以不要头指针typedef int elementType;typedef struct LinkedList{ elementType data; struct LinkedList* next;}node;带尾结点指针的单循环链表初始化//R是尾结点 void initialList(node *&amp;R){ R = new node;//申请头结点 R-&gt;next = R; } 求表长度//求表

java实现数组去重_著名特乐的博客-程序员秘密

/** 数组去重 相邻的2个数字要是相同只保留一个* @author Administrator**/public class ArrayPaichong { public static void main(String[] args) { int[] in=new int[] {1,2,2,3,4,5,2,4,4,7,7}; List a=ne...

MyBatis(二)MyBatis入门程序(MyBatis demo)_z1340954953的博客-程序员秘密

建立工程工程源码下载mybatis-config.xml需要注意的是,定义元素的顺序按照下面的顺序定义&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;&amp;lt;!DOCTYPE configuration PUBLIC &quot;-//mybatis.org//DTD Config 3.0//EN&quot; &quot;http://mybatis.org/dtd/myba...

paper3-Asynchronous Methods for Deep Reinforcement Learning_weixin_45650561的博客-程序员秘密

这里写目录标题一、新收获1、对文章段落的理解和收获abstract(1). Introduction(2). Related Work(3). Reinforcement Learning Background(4). Asynchronous RL Framework(5). Experiments(6). Conclusions and Discussion二、总结一、新收获1、对文章段落的理解和收获abstract(1). Introduction(2). Related Work(3).

Convolutional Pose Machine总结_mpii竞赛_cherry_yu08的博客-程序员秘密

Convolutional Pose Machine总结目录Convolutional Pose Machine总结目录Convolutional Pose Machine简介算法详细分析算法流程(使用阶段而非训练阶段)创新点数据集效果展示相关资料博客githubConvolutional Pose Machine简介 Con...

随便推点

【初始化-profile】init_profile.sh_weixin_33951761的博客-程序员秘密

【初始化-系统时间】init_profile.sh#!/bin/bash##2014/10/20#profile,增加到最后cat&lt;&lt;_PROFILE&gt;&gt;/etc/profilealiasls='ls--color=tty'aliasll='ls-l--color=tty'aliasl.='ls-d.*--co...

【Hive】Hive安装与配置_Alen_Liu_SZ的博客-程序员秘密

本篇主要演示在Linux上基于Hadoop安装Hive。一 安装环境操作系统:Oracle Linux Server release 6.5;Java版本:java-1.7.0-openjdk-1.7.0.45;Hadoop版本:hadoop-2.7.6;Hive版本:hive-2.3.3;MySQL版本:5.7.22;二 安装前准备1 安装Hadoop具体安装过程参考:Hadoop 2.7.6安...

Python - Pandas 如何新增数据列_df 列数据-程序员秘密

本文摘要:新增数据列1.直接赋值2.df.apply方法3.df.assgin方法4.按条件选择分组分别赋值直接赋值例子续接上回# df['High']、df['Low']其实是两个Series,相减返回仍是Series# 此处'High-Low'是要新增的新列名,新列数据为df表每行的High列和Low列的高低差df.loc[:, 'High-Low'] = df['High'] - df['Low']df.apply方法下面示例:新增一个’wendu_type’列,表示温度类

offset和size作为参数的分页该怎么请求(内含element ui的滚动式分页v-infinite-scroll)_offset size_猴子都会我不会的博客-程序员秘密

//这是data中的数据 pageIndex: 0, pageSize: 10,async getDataList() { this.loading = true let params = { size: this.pageSize, offSet: this.pageSize * this.pageIndex, describe: this.describe ? this.describe : '', }

Spyder 快捷键_mwmoo的博客-程序员秘密

转自 http://www.cnblogs.com/DaleSong/p/5289393.htmlSpyder是一个python的集成开发环境,其优点是模仿Matlab环境,可以方便的查看和修改数组取值。之前用过另一个开发环境PTVS(Python Tools for Visual Studio),顾名思义,是微软的Visual Studio的python开发环境,类似经典的vc,可以方便的设置断点

PostgreSQL字符切割:substring函数详介_postgre substring_啦啦是可爱喵的博客-程序员秘密

作为当前最强大的开源数据库,Postgresql(以下简称pg)对字符的处理也是最为强大的,首先他也有substr,trim等其他数据库都有的普通函数,这里我们介绍他更强大的一个函数substring,可以像python,java等编程语言一样使用正则表达式,强大到极点在此之前我们先了解一下正则表达式最基础的四个 %代表一个或多个字符 _代表一个字符 ^代表字符前 ...

推荐文章

热门文章

相关标签