欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

利用MD5对字符串和文件进行加密

利用MD5对字符串和文件进行加密

2018年01月17日 20:03:17 mango_python 阅读数:1657            


MD5-Message Digest Algorithm 5             


           

  • (中文名为消息摘要算法第五版)

  • 为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.

  • 被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何一个文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有一个独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被“篡改”过;在下载大批量文件时,可以判断下载的完整型。


           
               

使用MD5加密消息和字符串(python)

  1. import hashlib
  2. """ MD5加密算法,返回32位小写16进制符号 """                                
  3. def md5hex(word):                                
  4. if isinstance(word, unicode):
  5. word = word.encode("utf-8")
  6. elif not isins#coding=utf-8                                
  7. tance(word, str):
  8. word = str(word)
  9. m = hashlib.md5()
  10. m.update(word)
  11. return m.hexdigest()
  12. '''MD5加密文件'''                                
  13. def md5_file(name):                                
  14. with open(name,'rb') as f:  #需要使用二进制格式读取文件内容                                
  15. m =hashlib.md5()
  16. m.update(f.read())
  17. return m.hexdigest()
  18. '''加密大的文件'''                                
  19. def MD5ForBigFile(file):                                
  20. with open(file,'rb') as f:
  21. m = hashlib.md5()
  22. buffer = 8192                                
  23. while True:
  24. chunk = f.read(buffer)
  25. if not chunk :
  26. break                                
  27. m.update(chunk)
  28. return m.hexdigest()
  29. str_MD5=md5hex('helloworld')
  30. file_MD5=md5_file('~/jjx/test.txt')
  31. bigFile_MD5=MD5ForBigFile('~/jjx/test.zip')
  32. print('MD5: '+str_MD5)
  33. print('fileMD5: '+file_MD5)
  34. print('bigFileMD5: '+bigFile_MD5)

               


来自  https://blog.csdn.net/mango_python/article/details/79089102

普通分类: