常用python 加密算法(md5/base64/sha1)简单使用

#! /usr/bin/env python3
# -*- coding: utf-8 -*-


import hashlib
import  base64


def get_string_md5(str):
    """
    生成字符串的md5 
    短16位即   中间[8:24]位
    """
    h1 =hashlib.md5()
    h1.update(str.encode(encoding = 'utf-8'))# 指定字符编码,md5输入必须是二进制,这里需要编码
    return h1.hexdigest()


def get_file_md5(filename):
    """
    拿到文件的md5,大文件分批读取
    """
    with open(filename, 'rb') as f:
        m = hashlib.md5()
    
        while True:
            data = f.read(1024)
            if not data:
                break
    
            m.update(data)
        return m.hexdigest()
    

def get_string_base64(string):
    return base64.b64encode(string.encode('utf-8'))


def get_file_base64(filename):
    """
    生成文件的base64码
    """
    with open(filename, 'rb') as f:
        return base64.b64encode(f.read()).decode()



def get_string_sha1(string):
    return hashlib.sha1(string.encode("utf-8")).hexdigest()
    
def get_file_sha1(filename):
    with open(filename, 'rb') as f:
        return hashlib.sha1(f.read()).hexdigest()

if __name__ == "__main__":
    print(get_file_base64('main.py'))

 

你可能感兴趣的:(Python,算法)