常用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'))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章