1. 程式人生 > >Python程式設計之md5加密和sha1加密

Python程式設計之md5加密和sha1加密

Python程式設計之訊息加密

在python中進行訊息的加密,下面是md5加密方法和sha1加密方法:

import hashlib


def my_md5(value):
    m = hashlib.md5()
    m.update(value.encode('utf-8'))
    return m.hexdigest()



def my_sha1(value):
    m = hashlib.sha1()
    m.update(value.encode("utf-8"))
    return m.hexdigest()

今天做註冊登入時,將密碼進行加密然後放進資料庫中,做的過程中碰到一個bug 使用者名稱和密碼放進資料庫中變成下面這樣:

name pwd
xiaohong <built-in method hexdigest of _hashlib.HASH object at 0x7f70c89564e0>
demaxiya <built-in method hexdigest of _hashlib.HASH object at 0x7fa665d25490>
katelin <built-in method hexdigest of _hashlib.HASH object at 0x7f70ca3fe260>

預期是這樣的:

name pwd
xiaoxiao 202cb962ac59075b964b07152d234b70
liyunlong 81dc9bdb52d04dc20036dbd8313ed055
zhangfei 202cb962ac59075b964b07152d234b70

看了半天發現hexdigest這個方法沒加括號…

import hashlib


def my_md5(value):
    m = hashlib.md5()
    m.update(value.encode('utf-8'))
    return m.hexdigest



def my_sha1(value):
    m = hashlib.sha1()
    m.update(value.encode("utf-8"))
    return m.hexdigest