django 內建的user類提供了使用者密碼的儲存、驗證、修改等功能,
預設使用pbkdf2_sha256方式來儲存和管理用的密碼。
django通過setting.py檔案中的password_hashers來設定選擇要使用的演算法,
列表的第乙個元素 (即settings.password_hashers[0]
) 會用於儲存密碼,
所有其它元素都是用於驗證的雜湊值,它們可以用於檢查現有的密碼。
意思是如果你打算使用不同的演算法,你需要修改password_hashers,來將你最喜歡的演算法在列表中放在首位。
乙個settings中的password_hashers看起來是這樣的:
password_hashers =
('django.contrib.auth.hashers.pbkdf2passwordhasher'
,'django.contrib.auth.hashers.pbkdf2sha1passwordhasher'
,'django.contrib.auth.hashers.bcryptsha256passwordhasher'
,'django.contrib.auth.hashers.bcryptpasswordhasher'
,'django.contrib.auth.hashers.sha1passwordhasher'
,'django.contrib.auth.hashers.md5passwordhasher'
,'django.contrib.auth.hashers.cryptpasswordhasher',)
具體的密碼生成以及驗證實現
from django.contrib.auth.hashers import make_password,check_password
pwd=
'4562154'
mpwd=make_password(pwd,
none
,'pbkdf2_sha256'
)# 建立django密碼,第三個引數為加密演算法
pwd_bool=check_password(pwd,mpwd)
# 返回的是乙個bool型別的值,驗證密碼正確與否
django內建的密碼加密與解密
django 內建的user類提供了使用者密碼的儲存 驗證 修改等功能,預設使用pbkdf2 sha256方式來儲存和管理用的密碼。django通過password hashers來設定選擇要使用的演算法,列表的第乙個元素 即settings.password hashers 0 會用於儲存密碼,所...
Django 使用者認證(Auth)元件
django 使用者認證 auth 元件一般用在使用者的登入註冊上,用於判斷當前的使用者是否合法,並跳轉到登陸成功或失敗頁面。django 使用者認證 auth 元件需要匯入 auth 模組 認證模組 from django.contrib import auth 對應資料庫 from django...
Django之auth認證元件
此時我們需要實現包括使用者註冊 使用者登入 使用者認證 登出 修改密碼等功能,這還真是個麻煩的事情呢。django作為乙個完美主義者的終極框架,當然也會想到使用者的這些痛點。它內建了強大的使用者認證系統 auth,它預設使用 auth user 表來儲存使用者資料。建立使用者 python mana...