`
ryan.liu
  • 浏览: 136340 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Python计算MD5

 
阅读更多

 

# -*- coding: utf-8 -*-

import hashlib


def md5hex(word):
    """ MD5加密算法,返回32位小写16进制符号 """
    if isinstance(word, unicode):
        word = word.encode("utf-8")
    elif not isinstance(word, str):
        word = str(word)
    m = hashlib.md5()
    m.update(word)
    return m.hexdigest()


def md5sum(fname):
    """ 计算文件的MD5值 """
    def read_chunks(fh):
        fh.seek(0)
        chunk = fh.read(8096)
        while chunk:
            yield chunk
            chunk = fh.read(8096)
        else: #最后要将游标放回文件开头
            fh.seek(0)
    m = hashlib.md5()
    if isinstance(fname, basestring) \
            and os.path.exists(fname):
        with open(fname, "rb") as fh:
            for chunk in read_chunks(fh):
                m.update(chunk)
    #上传的文件缓存 或 已打开的文件流
    elif fname.__class__.__name__ in ["StringIO", "StringO"] \
                or isinstance(fname, file):
        for chunk in read_chunks(fname):
            m.update(chunk)
    else:
        return ""
    return m.hexdigest()
分享到:
评论

相关推荐

    用python计算md5,sha1,crc32.docx

    Python中计算MD5的方法: ```python import hashlib def getMd5(filename): with open(filename, 'rb') as file: md5_hash = hashlib.md5() for chunk in iter(lambda: file.read(4096), b''): md5_hash....

    Python MD5示例

    首先,要使用Python计算MD5值,我们需要导入内置的`hashlib`库。`hashlib`库包含了多种安全的哈希算法,包括MD5。以下是计算字符串MD5值的基本步骤: 1. 导入`hashlib`库: ```python import hashlib ``` 2. 创建一...

    python进行MD5加密源码.zip

    Python中的MD5加密是一种常用的哈希函数,用于对数据进行单向加密,广泛应用于密码存储、数据完整性校验等领域。MD5全称为Message-Digest Algorithm 5,它将任意长度的二进制数据映射为固定长度的128位(16字节)的...

    python计算生态 笔记.md

    python计算生态 笔记.md

    Python+md5加密

    4. 文件的MD5计算:逐块读取文件内容,更新MD5对象。 5. 安全性问题:MD5不适用于密码存储,应考虑使用更安全的哈希算法。 通过学习以上内容,你可以用Python实现简单的MD5加密,无论是处理字符串还是文件。但要...

    Python函数.md

    ### Python函数详解 #### 一、函数定义 在Python中,函数是一段可重用的代码块,用于执行特定的任务。定义一个函数使用`def`关键字。例如: ```python def info_1(a, b, c): print(a) print(b) print(c) ``` ...

    md5算法.可以对文件和字符串计算md5值

    还会声明MD5的初始化函数(如MD5_Init)、更新函数(如MD5_Update)和最终化函数(如MD5_Final),它们分别用于开始计算、添加数据和获取最终的MD5摘要。 3. **实现MD5函数(Md5.cpp)**:在这个源文件中,你需要实现...

    python计算字符串、文件、文件夹MD5

    总的来说,Python的`hashlib`库提供了便捷的接口来计算MD5值,无论是对字符串、单个文件还是整个文件夹。这些函数能够帮助开发者在处理大量数据时确保数据的完整性和一致性。在实际应用中,还可以根据需要进一步优化...

    基于Python GUI实现Md5值计算的GUI小工具源码

    2. **文件选择对话框**:为了允许用户选择要计算MD5值的文件,开发者可能使用了`filedialog`模块,它是Tkinter的一部分。通过`filedialog.askopenfilename()`函数,可以弹出一个标准的文件选择对话框,让用户选取...

    python 计算文件的md5值实例

    在Python中,计算文件的MD5值通常用于验证文件的完整性或比较两个文件是否相同。 本文提供了两种Python方法来计算文件的MD5值。首先,我们来看第一种方法,适用于较小文件: ```python import hashlib import os ...

    计算文件夹下所有文件的MD5值

    要实现非递归方式扫描文件夹下所有文件并计算MD5,可以编写一个简单的批处理脚本或者Python脚本。在提供的压缩包`CalMD5`中,很可能包含的就是这样一种实现。批处理脚本可能会使用`for /R`循环来遍历文件,但根据...

    windows下计算md5小程序

    在计算MD5时,程序会分别处理两种类型的文件:普通文本文件和二进制文件。文本文件通常包含可读的字符,而二进制文件可能包含不可打印的字节,如图片、音频或视频文件。无论哪种类型,MD5算法都会对整个文件内容进行...

    Python实现计算文件MD5和SHA1的方法示例

    ### Python实现计算文件MD5和SHA1的方法 在IT领域,特别是网络安全和文件验证方面,MD5和SHA1是两种非常常见的散列算法。通过这些算法可以为文件生成唯一的固定长度摘要,用以确保文件的完整性和一致性。下面将详细...

    md5.zip_md5_计算MD5

    根据压缩包内的文件名称"md5",我们可以推测这可能是实现MD5算法的源代码文件,可能包含C、C++、Java、Python等编程语言中的函数或类,用户可以通过调用这些函数或类来快速计算MD5值。 总的来说,这个"md5.zip"文件...

    python计算机视觉编程源代码 PCV库使用案例.rar

    `README.md`文件是项目的重要组成部分,它通常包含项目简介、安装指南、使用示例和贡献者信息等,是快速了解项目的好入口。你可以通过阅读此文件来了解如何设置环境并运行PCV库的示例代码。 `expand_tabs.py`可能是...

    计算文件MD5

    2. **初始化MD5算法**:使用MD5算法的实现库,如OpenSSL、bcrypt或其他语言内置的库(如Python的hashlib模块,Java的java.security.MessageDigest类),初始化MD5哈希对象。 3. **处理数据块**:将读取到的数据分块...

    计算32位的MD5算法 (一封装好的类)

    例如,在Python中,你可能只需要导入这个类,然后创建一个对象,调用其方法来计算MD5值,如下所示: ```python from MD5_class import MD5 md5_obj = MD5() md5_obj.update("你好,世界") hash_value = md5_obj....

    计算文件的MD5结果

    在编程中,许多语言都提供了计算MD5的库或函数。例如,在Python中,可以使用`hashlib`库来计算文件的MD5值: ```python import hashlib def calculate_md5(file_path): with open(file_path, 'rb') as f: md5 = ...

    Python简单计算文件MD5值的方法示例

    本文实例讲述了Python简单计算文件MD5值的方法。分享给大家供大家参考,具体如下: 一 代码 import sys import hashlib import os.path filename = sys.argv[1] if os.path.isfile(filename): fp=open...

Global site tag (gtag.js) - Google Analytics