Flask學習記錄之使用Werkzeug雜湊密碼

2022-05-02 06:27:12 字數 946 閱讀 4384

資料庫中直接存放明文密碼是很危險的,werkzeug庫中的security能夠方便的實現雜湊密碼的計算

security庫中 generate_password_hash(password,method...)函式將原始密碼作為輸入,以字串形式輸出密碼的雜湊值

check_password_hash(hash,password)函式檢查給出的hash密碼與明文密碼是否相符

from werkzeug.security import

check_password_hash,generate_password_hash

class

user(db.model):

id = db.column(db.integer, primary_key=true)

username = db.column(db.string(64),unique=true)

password_hash = db.column(db.string(128))

#不能讀取

@property

defpassword(self):

raise

"you cant read it"#

使用user.password='asda'設定時存入生成的雜湊密碼

@password.setter

defpassword(self, password):

self.password_hash =generate_password_hash(password)

defcheck_password_hash(self,password):

return check_password_hash(self.password_hash, password)

需要驗證密碼時就只需呼叫user類的check_password_hash(self,password)方法,如果返回true則進行下一步操作

Flask學習記錄之Flask Migrate

from flask.ext.migrate importmigrate,migratecommand 第乙個引數是flask的例項,第二個引數是sqlalchemy資料庫例項 manager.add command db migratecommand manaer 是flask script的例項...

Docker學習記錄之Flask轉docker

今天小夥伴把乙個pythonweb的題轉docker,過程中出現了一些問題,我也搞了好久,這裡記錄一下吧。新手上路,大神勿噴。雖然這不是bug,但是我還是想提一句,如果up的服務沒有異常卻不知道 出了問題,可以exec進去看看,改 或者安裝什麼東西,最好把運維需要的命令都在dockerfile裡面寫...

Flask工廠函式使用記錄

flask工廠函式 我的目錄結構flask project config init py config.py settings.py manage.py基本示例定義工廠函式 from flask import flask from config.settings import config from...