zoukankan      html  css  js  c++  java
  • 用python计算md5,sha1,crc32

    Linux下计算md5sum,sha1sum,crc:

    命令          输出

    $md5sum hello    f19dd746bc6ab0f0155808c388be8ff0  hello

    $sha1sum hello    79e560a607e3e6e9be2c09a06b7d5062cb5ed566  hello

    $crc32 hello      327213a2

    Python也能做这个工作,其中md5和sha1需import hashlib, crc32可以import zlib

    #test.py
    #!/usr/bin/env python
    
    from hashlib import md5, sha1
    from zlib import crc32
    import sys
    
    def getMd5(filename): #计算md5
        mdfive = md5()
        with open(filename, 'rb') as f:
            mdfive.update(f.read())
        return mdfive.hexdigest()
    
    def getSha1(filename): #计算sha1
        sha1Obj = sha1()
        with open(filename, 'rb') as f:
            sha1Obj.update(f.read())
        return sha1Obj.hexdigest()
    
    def getCrc32(filename): #计算crc32
        with open(filename, 'rb') as f:
            return crc32(f.read())
    
    if len(sys.argv) < 2:
        print('You must enter the file')
        exit(1)
    elif len(sys.argv) > 2:
        print('Only one file is permitted')
        exit(1)
    
    filename = sys.argv[1]
    
    print('{:8} {}'.format('md5:', getMd5(filename)))
    print('{:8} {}'.format('sha1:', getSha1(filename)))
    print('{:8} {:x}'.format('crc32:', getCrc32(filename)))

    $python test.py hello

    结果:

    md5: f19dd746bc6ab0f0155808c388be8ff0
    sha1: 79e560a607e3e6e9be2c09a06b7d5062cb5ed566
    crc32: 327213a2

  • 相关阅读:
    Nginx配置文件
    SSM三层模型之间的参数传递
    Junit4用法
    常量类的设计
    初识Oracle
    sss
    sss
    sss
    sss
    sss
  • 原文地址:https://www.cnblogs.com/luolizhi/p/5591044.html
Copyright © 2011-2022 走看看