`

【Python真的很强大】md5sum in Python

阅读更多
''' 
    md5sum in Python 
'''  
  
try:  
  from hashlib import md5        #Python2.5 or later version  
except:  
  from md5 import md5                  #Python2.4 or before version  
  
import sys  
import urllib 
import os.path
  
def sumFile(fobj):  
  m = md5()  
  while True:  
    d = fobj.read()  
    if not d:  
      break  
    m.update(d)  
    del(d)  
  return m.hexdigest()


  
def sumStr(str):  
  m = md5()  
  m.update(str.encode('utf-8'))  
  return m.hexdigest()

'''def sumStr(str):  
  m = md5()  
  for c in str:
    m.update(c)  
  return m.hexdigest()''' 

def md5SumLocalFile(fname):
  try:  
      f = open(fname, 'rb')
  except:  
    return None  
  ret = sumFile(f)  
  f.close()    
  return ret  
  
def md5SumRemoteFile(fname):       
  try:  
    f = urllib.urlopen(fname, 'rb')  
    #f = open(fname, 'rb')  
  except:  
    return None  
  ret = sumFile(f)  
  f.close()    
  return ret


def  md5sum(obj,objType='str'):
    if isinstance(obj, basestring):
      if obj.startswith('http') or obj.startswith('HTTP')  or  obj.startswith('ftp') or  obj.startswith('FTP') :
	return md5SumRemoteFile(obj)
      elif os.path.isfile(obj):
	return md5SumLocalFile(obj)
      elif os.path.isfile(obj)==False and  objType=='file':
	return None
      else:
	return sumStr(obj)
    elif isinstance(obj,object):
      return  sumFile(obj)
    else:
      return None
    
      
    
res=sumStr('1;2;3;4;5\n')  
print res
res=md5sum('/tmp/x.txt','file')  
print res
#测试发现把为文本存入文件,对比md5sum发现一样,但要注意文件结束符以及行结束符!

 

0
0
分享到:
评论

相关推荐

    Python函数.md

    ### Python函数详解 #### 一、函数定义 ...综上所述,Python中的函数是非常强大和灵活的编程工具,提供了多种参数类型、作用域管理和高级特性如闭包和递归等,使得编写高效和易于维护的代码成为可能。

    Python中使用md5sum检查目录中相同文件代码分享

    在本文中,我们将深入探讨如何在Python中使用md5sum函数来检查一个目录中是否存在相同的文件。这个话题对于想要进行文件管理、清理或备份的用户来说非常有用,因为在大型文件集合中,有可能会保存有完全相同的文件...

    利用Python生成文件md5校验值函数的方法

    前言 在linux有个命令叫做md5sum,能生成文件的md5值,...[crazyant@localhost PythonMd5]$ md5sum sample_file > sample_file.md5file [crazyant@localhost PythonMd5]$ more sample_file.md5file 311d384505e3622ccf8

    python 将md5转为16字节的方法

    问题来了,因为md5sum是128bit,也就是16字节,如何将python生成字符串的转为16字节呢? 请看下面代码 import hashlib def get_md5(s): m = hashlib.md5(s) return m.hexdigest() def convert_md5(origin): ...

    python 获取字符串MD5值方法

    具体到获取文件的MD5值,可以通过执行Linux系统中的md5sum命令,并配合shell管道命令cut来提取计算出的MD5值。Python脚本中的具体实现方式就是调用系统命令,并通过命令执行结果返回文件的MD5值。不过需要注意的是,...

    linux下的md5加密源码

    源码通常由C、C++、Python等编程语言编写,通过读取输入数据,执行MD5算法,然后输出相应的哈希值。如果你想要深入理解MD5的工作原理,阅读和分析这些源码将是非常有益的。 总结一下,Linux下的MD5加密是通过`md5...

    MD5加密算法.zip

    在Linux中,可以使用`md5sum`命令来计算文件的MD5值。例如,要计算文件`file.txt`的MD5校验和,命令行输入: ``` md5sum file.txt ``` 这将输出类似`e746d43b8cf7e21c1f3e40138c1ce212 file.txt`的结果,其中...

    Python MD5文件生成码

    import md5 import sys def sumfile(fobj): m = md5.new() while True: d = fobj.read(8096) if not d: break m.update(d) return m.hexdigest() def md5sum(fname): if fname == ‘-‘: ret = sumfile(...

    Windows环境下,生成文件MD5值

    使用方法 1、将需要生成MD5值的文件放至dist/files/文件夹下 2、点击dist目录下md5sum.exe ...3、若想使用源代码,需要将MD5文件拷贝两份,保证md5sum.py目录files文件夹以及它上一级files文件夹相匹配

    为什么我选择了Python.md

    2. **判断逻辑“真”或“假”**:在Python中,可以使用空对象(如空列表、空字典)、数字0或空字符串来表示“假”值,而任何非空对象(如非空列表、非空字典、非零数字)都可视为“真”值。这种简洁的逻辑判断方式...

    MD5算法,控制台下面的操作.

    - 在Linux或macOS中,可以打开终端并输入`md5sum filename`,其中`filename`是你要计算的文件名,这将输出该文件的MD5摘要。 - 在Windows中,可以使用`CertUtil`命令,例如`CertUtil -hashfile filename MD5`,...

    Python的数据分析.md

    Python 的强大之处在于其拥有一系列高效且功能丰富的库,如 Pandas、NumPy 和 Matplotlib 等,这些库极大地简化了数据处理和可视化的流程。数据分析通常包括数据收集、数据清洗、数据探索、统计分析和数据可视化等...

    Python游戏开发1.md

    ### Python游戏开发1.md #### 游戏开发概述 ##### 游戏开发的基本流程 游戏开发涉及多个步骤,从最初的创意构想到最终的产品发布。这些步骤可以概括为四个主要阶段: 1. **游戏概念与规划**: - 定义游戏的核心...

    MD5 校验 对比 加密

    对于编程,很多编程语言都有内置的库函数支持MD5计算,如Python的`hashlib`模块,Java的`java.security.MessageDigest`类等。 总的来说,MD5是一个曾经非常流行的哈希函数,虽然现在已不再推荐用于安全目的,但在...

    md5加密器(PyQt)

    在Python中,我们可以利用`hashlib`库来实现MD5的加密操作。PyQt5则是一个强大的图形用户界面库,它基于Qt库,提供了丰富的组件和功能,用于创建美观且功能齐全的桌面应用。 这个"md5加密器(PyQt)"项目显然是一个...

    一款用于计算Md5值的小工具

    例如,`md5sum.exe`很可能就是这样的工具,它在Windows环境下运行,能够为用户提供便捷地计算字符串或文件MD5值的功能。下面我们将详细探讨MD5的应用、计算方法以及如何使用`md5sum.exe`这样的工具。 MD5在IT行业的...

    计算文件MD5值

    在安全领域,MD5曾经被视为一个强大的哈希函数,但由于碰撞攻击的发展,即找到两个不同的输入产生相同的MD5值,MD5现在已经不被认为足够安全用于密码存储或数字签名等对安全性要求高的场景。尽管如此,对于检测文件...

Global site tag (gtag.js) - Google Analytics