精华内容
下载资源
问答
  • 结果一查md5发现只要是大文件复制之后md5值(crc也是)都会发生变化(偶尔也有不变的时候),以为是硬盘坏了可是两块硬盘所有分区都有这问题,要是坏道的话应该不会这样吧。而且小文件复制就没这个问题(不是绝对,...
  • MD5校验码:f4f9ea3f7bcc3375192be61dc110cb58 ...上传时文件搞错了,但这里不让删除,此贴只提供md5校验,《定时文件自动备份、复制,只复制改变文件》在http://download.csdn.net/source/2784109下载
  • 任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比...
  • python计算文件md5

    2016-05-11 17:43:00
     最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可。这个想法在windows的pc端下测试没有问题。  但是当把一个文件从pc端...

    前言

      最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可。这个想法在windows的pc端下测试没有问题。

      但是当把一个文件从pc端复制到优盘时出现了一个问题,复制到优盘的文件比pc端的文件慢了两秒钟

      这里我用的复制函数是 shutil.copy2(),理论上它会把修改时间和最后访问时间也复制过来1,但是实际情况并不是完全相同。

      详细情况我在segmentfault里提出了问题:为什么将一个文件从pc中复制到优盘中修改时间会慢2秒钟?

      看shutil.copy2的资料和网上的解答,发现可能是文件系统的差别造成的,windows的pc端文件系统是ntfs,优盘的是fat32。但还是想了解更深层的原因,希望知道的大神解答一下。

      扯远了,基于以上问题的出现,迫使我得修改比较策略,于是我找到了用文件的MD5值比较的方法,yeah!~

      具体来说,每个文件都会有一个MD5的加密值,这个值来唯一标识这个文件(百度云的快速上传/秒传就是基于这个道理),它常用来辨别文件的真伪,例如下载系统安装镜像,旁边会附带一个长长的字符乱码,这就是这个镜像的MD5值。

      文件被修改后其MD5值也会改变,所以可以用来判断一个文件是否被修改过。

      这样的方法比基于时间的比较显然更加可靠,现在唯一的问题就是MD5计算时间的问题。一个大文件计算MD5值要多久呢?

      网上的解决代码已经有很多了,大都是两种方法,一种是小文件的MD5加密,调用函数直接加密即可,另一种是大文件的MD5加密策略,方法是将大文件分块更新MD5值,最后得到最终的值。

      下面我使用第二种方法对大文件进行加密测试。

    测试1

      测试对象是一个将近2G的压缩文件,如下:

      加密结果如下:

      运行时间是20s,不快也不慢,相对文件大小来说,我还是能接受这个速度……

      计算出的MD5值是“8ee04176f69c10ca56f2358d51d792ed”,这个值对不对呢?我在网上做了验证:

      两个值相等,由此可见该算法,计算正确。测试代码见下。

      测试网址在这:http://www.atool.org/file_hash.php

      有趣的是,我对文件进行了第二次、第三次、第四次加密,发现加密时间少了5秒左右,好神奇,不知道为什么。

      搞定了MD5加密,我可以继续进行下一步开发了~ :)

    大文件的MD5加密代码

     

     1 # coding=gbk
     2 
     3 import hashlib
     4 import os
     5 import datetime
     6 
     7 def GetFileMd5(filename):
     8     if not os.path.isfile(filename):
     9         return
    10     myhash = hashlib.md5()
    11     f = open(filename,'rb')
    12     while True:
    13         b = f.read(8096)
    14         if not b :
    15             break
    16         myhash.update(b)
    17     f.close()
    18     return myhash.hexdigest()
    19 
    20 filepath = raw_input('请输入文件路径:')
    21 
    22 # 输出文件的md5值以及记录运行时间
    23 starttime = datetime.datetime.now()
    24 print GetFileMd5(filepath)
    25 endtime = datetime.datetime.now()
    26 print '运行时间:%ds'%((endtime-starttime).seconds)

     

     

     

    参考资料

    Python中os和shutil模块实用方法集锦

    python检测文件的MD5值

    原创声明

    Freecode# : www.cnblogs.com/yym2013

     

    展开全文
  • MD5算法使用简析

    2015-03-23 08:29:35
    总结:MD5算法是对一定的输入内容计算消息摘要,文件MD5算法是对整个文件的内容以二进制方式读取对内容进行分组筛选计算消息摘要。简单的复制一个文件并不能再计算并不能改变MD5值,因为文件内部的二进制内容并没有...

    总结:MD5算法是对一定的输入内容计算消息摘要,文件MD5算法是对整个文件的内容以二进制方式读取对内容进行分组筛选计算消息摘要。简单的复制一个文件并不能再计算并不能改变MD5值,因为文件内部的二进制内容并没有改变。

    MD5可以校验一个文件在传输的过程中是否被改变了,他人改变,或者自己开发的上传下载程序本身改变了传输的内容。MD5因为是非可逆的,因此可以在密码存取中直接存放MD5值。MD5是不够安全的,因为互联网上有很多MD5的库,但是其简单实用,现在程序中应用还是相当广泛的。

    MD5对文件校验使用的代码实例:

    具体MD5代码网上很多,这里只是展示一下校验时候输入的数据,和其中的MD5算法的简析:


    展开全文
  • (这种情况是经常在复制文件中出现的)那可怎么办才好呢? 那就输入“ xcopy e:\*.* d: /s /h /d /y ”就行啦。他能查出那些文件是已经复制过去啦,那些文件还没有复制过去的。 3、当然我们也会碰到这种情况,一些...
  • 在这个例子中,驱动器 A 中磁盘上的所有文件复制到d:back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。 6.Call 命令 从一个批处理程序调用...
  • 1.1.7 robocopy——Windows的可靠文件复制 13 1.1.8 del——删除文件 22 1.1.9 expand——解压缩文件 23 1.1.10 compact——压缩文件 24 1.1.11 fc——文件比较 25 1.1.12 find——查找 27 1.1.13 findstr——搜索...
  • 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第3篇 窗体与控件应用 第11章 窗体设计 11.1 设置...
  • rar压缩软件.rar

    2016-02-13 10:52:44
    不和其它开关一起使用,'ch' 命令仅复制压缩文件数据而不修改它。 例如: 设置压缩文件时间为最新的文件: rar ch -tl files.rar cw 写压缩文件注释到指定文件。 输出文件格式依赖于 -sc 开关。 如果...
  • WinRAR_4.0.exe

    2011-02-04 11:34:33
    不和其它开关一起使用,'ch' 命令仅复制压缩文件数据而不修改它。 例如: 设置压缩文件时间为最新的文件: rar ch -tl files.rar cw 写压缩文件注释到指定文件。 输出文件格式依赖于 -sc 开关。 如果...
  • WINRAR5.0正式注册版

    2013-10-10 10:14:03
    "RAR" 替代 "RAR5" 选项创建 RAR 4.x 压缩文件来兼容以前版本的 WinRAR。 2. RAR 5.0 压缩算法的改变: a) 64 位 WinRAR 中最大的压缩字典增加到 1GB。32位 WinRAR 版本创建压缩文件时可 以使用 256MB 的字典。...
  • linux.chm文档

    2015-07-07 06:37:39
    rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间 rpm -Va 检查系统中所有已安装的rpm包- 小心使用 rpm -Vp package.rpm 确认一个rpm包还未安装 rpm2cpio package.rpm | ...
  • windows实用dos命令大全

    2010-12-10 21:27:35
    (3)复制文件时,必须先确定目标般有足够的空间,否则会出现;insufficient的错误信息,提示磁盘空间不够;  (4)文件名中允许使用通配举“*”“?”,可同时复制多个文件;  (5)COPY命令中源文件名必须指出,...
  • -m Force MD5 encryption of the password (default). -d Force CRYPT encryption of the password. -p Do not encrypt the password (plaintext). -s Force SHA encryption of the password. -b Use the ...
  • 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第3篇 窗体与控件应用 第11章 窗体设计 11.1 设置...
  • 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第3篇 窗体与控件应用 第11章 窗体设计 11.1 设置...
  • 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第3篇 窗体与控件应用 第11章 窗体设计 11.1 设置...
  • 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第3篇 窗体与控件应用 第11章 窗体设计 11.1 设置...
  • 识别常见病毒,病毒一般是以隐藏形式藏匿在计算机的文件中,要把文件的隐藏属性打开。每一盘都有工具这个选项,如下图所示: 49 五.常用DOS命令 60 第一章COMS的设置 开机画面现在有两种,一种为AMI公司开发的,...
  • getAppSignatureMD5 : 获取应用签名的的 MD5 值 getAppInfo : 获取 App 信息 getAppsInfo : 获取所有已安装 App 信息 关于数组的各种排序算法 -> ArrayUtils.java            回到目录 ...
  • 搜“Java MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用 【现在】引入Hutool -> SecureUtil.md5() Hutool的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。 ️包含...
  • 精易模块[源码] V5.15

    2015-03-21 22:03:37
    1、新增“效验_取md5_进度”,进度获取文件MD5值,支持大文件,采纳易友【@易模块】建议。 2、改善“程序_禁止重复运行”添加是否显示已运行的参数,此命令由易友【@小爬虫】改进。 3、修正“网页_取网址引用”不...
  • copy 路径文件名1 路径文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件 copy c:srv.exe ipadmin$ 复制本地c:srv.exe到对方的admin下 copy 1st.jpg/b+2st.txt/a 3st....
  • 复制、粘贴、剪切、删除、打开、搜索、新建文件(夹)、) - pdf预览支持 - mac快捷键 ctrl 一一对应command - 音乐播放器和视频播放器相互独立 - 图片懒加载、图片较多的情况下只加载首屏图片缩略图; - 编辑...
  • 1.建立网站虚拟目录,将WEBFTP文件全部复制过去。 2.用Microsoft Access创建一个空数据库,保存到网站data目录下。 3.打开ODBC数据库管理器,点系统DSN-添加-Micorsoft Access Driver(*.mdb),输入数据源名称WebFtp,...
  • 实例155 使用MD5算法对密码进行加密 201 实例156 凯撒密码算法的实现 202 第2篇 Windows窗体篇 第7章 Windows窗体基础 206 7.1 设置窗体位置 207 实例157 控制窗体加载时的位置 207 实例158 设置窗体在屏幕中的位置 ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

复制文件md5改变了