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

          

  • 相关阅读:
    SQL 列转行
    SQL 行转列
    ActionScript 3.0 学习笔记三
    VS 2010 添加扩展工具
    VS 2010 启动慢解决办法
    [SQL Server]游标示例
    SQL Server 2005 express TCP/IP 不能连接的配置
    FCKeditor.Net v2.6.3 上传图片的配置及注意事项
    HTTP/1.1 403 Forbidden
    存储过程中常使用的逻辑控制语句
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10284554.html
Copyright © 2011-2022 走看看