zoukankan      html  css  js  c++  java
  • Python hashlib 模块

    在 Linux 中,使用 md5sum 命令生成字符串或文件的摘要信息 ( 也就是对字符串或文件做加解密 ),默认使用 md5 加密算法算出摘要信息
    在 Python 中,使用 hashlib 模块生成字符串或文件的摘要信息 ( 也就是对字符串或文件做加解密 ),支持多种加密算法,如 md5,sha256,sha512 等等

    使用 hashlib 对字符串进行加密:

    In [1]: import hashlib
    
    In [2]: m = hashlib.md5('hello world')    # 对字符串进行md5加密,也可以使用其他加密算法,如 sha256,sha512 等
    
    In [3]: m.digest()       # 查看摘要信息(二进制)
    Out[3]: '^xb6;xbbxe0x1exeexd0x93xcb"xbbx8fZxcdxc3'
    
    In [4]: m.hexdigest()    # 查看摘要信息(十六进制)
    Out[4]: '5eb63bbbe01eeed093cb22bb8f5acdc3'

    也可以使用 update() 方法来更新哈希对象,效果跟上面的一样:

    In [1]: import hashlib
    
    In [2]: m = hashlib.md5()
    
    In [3]: m.update('hello ')
    
    In [4]: m.update('world')
    
    In [5]: m.hexdigest()
    Out[5]: '5eb63bbbe01eeed093cb22bb8f5acdc3'

    使用 hashlib 对文件进行加密:

    #!/usr/bin/evn python
    #-*- coding:utf-8 -*-
    
    import sys
    import hashlib
    
    def md5sum(f):
        md5 = hashlib.md5()
        with open(f) as fd:
            while True:
                data = fd.read(4096)
                if data:
                    md5.update(data)
                else:
                    break
        return md5.hexdigest()
    
    if __name__ == '__main__':
        print md5sum(sys.argv[1])
    [root@localhost ~]$ python 1.py /data/1.txt 
    64973b4424a9af943e233fa7dd5aa17f

          

  • 相关阅读:
    视频直播和实时音视频区别调研
    MySQL5.7 并行复制
    MySQL5.7 并行复制
    SSH 超时设置
    有赞透明多级缓存解决方案(TMC)设计思路
    有赞透明多级缓存解决方案(TMC)设计思路
    spring.net异常处理
    python之for学习
    pyhton小方法
    时间戳处理
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10284554.html
Copyright © 2011-2022 走看看