django的auth加密解密的過程

2021-10-11 01:45:09 字數 1121 閱讀 1918

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...