1. 程式人生 > >Python之MD5加密

Python之MD5加密

Python 3下MD5加密

# 由於MD5模組在python3中被移除
# 在python3中使用hashlib模組進行md5操作

import hashlib

# 待加密資訊
str = 'this is a md5 test.'

# 建立md5物件
hl = hashlib.md5()

# Tips
# 此處必須宣告encode
# 若寫法為hl.update(str)  報錯為: Unicode-objects must be encoded before hashing
hl.update(str.encode(encoding='utf-8'))

print('MD5加密前為 :'
+ str) print('MD5加密後為 :' + hl.hexdigest())

執行結果

這裡寫圖片描述

封裝Python3下MD5加密


# 生成MD5
def genearteMD5(str):
    # 建立md5物件
    hl = hashlib.md5()

    # Tips
    # 此處必須宣告encode
    # 否則報錯為:hl.update(str)    Unicode-objects must be encoded before hashing
    hl.update(str.encode(encoding='utf-8'))

    print('MD5加密前為 :'
+ str) print('MD5加密後為 :' + hl.hexdigest())

Python2版本中帶有MD5模組生成MD5 如下

import md5

src = 'this is a md5 test.'
m1 = md5.new()
m1.update(src.encode(encoding='utf-8'))
print(m1.hexdigest())