欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django自帶的加密算法及加密模塊詳解

 更新時間:2019年12月03日 17:32:31   作者:lanix516  
今天小編就為大家分享一篇Django自帶的加密算法及加密模塊詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Django 內(nèi)置的User類提供了用戶密碼的存儲、驗證、修改等功能,可以很方便你的給用戶提供密碼服務(wù)。

默認(rèn)的Ddjango使用pbkdf2_sha256方式來存儲和管理用的密碼,當(dāng)然是可以自定義的。

Django 通過PASSWORD_HASHERS 設(shè)置選擇要使用的算法。

下面有一個列表,列出了Django 支持的哈希算法類。列表的第一個元素 (即settings.PASSWORD_HASHERS[0]) 會用于儲存密碼, 所有其它元素都是用于驗證的哈希值,它們可以用于檢查現(xiàn)有的密碼。意思是如果你打算使用不同的算法,你需要修改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',
)

具體在Django中的用戶密碼生成、驗證的過程是怎么樣的,可以通過django.contrib.auth.hashers模塊中的幾個函數(shù)大體了解一下。通過對兩個函數(shù)的了解,完全可以脫離內(nèi)置的User, 實現(xiàn)自定義的用戶表中使用django內(nèi)置的密碼機(jī)制。

首先導(dǎo)入

from django.contrib.auth.hashers import make_password, check_password

通過函數(shù)名即可發(fā)現(xiàn),主要有兩個函數(shù),分別是創(chuàng)建密碼和驗證

用法

ps = "123456"

dj_ps = make_password(ps, None, 'pbkdf2_sha256') #創(chuàng)建django密碼, 第二個參數(shù)為None是每次產(chǎn)生的密碼都不用,第三個參數(shù)為算法, 后面兩個參數(shù)可以忽略

ps_bool = check_password(ps, dj_ps) # check_password 返回值為一個Bool類型,驗證密碼的正確與否 

以上這篇Django自帶的加密算法及加密模塊詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python設(shè)計模式之觀察者模式簡單示例

    Python設(shè)計模式之觀察者模式簡單示例

    這篇文章主要介紹了Python設(shè)計模式之觀察者模式,簡單描述了觀察者模式的概念、原理,并結(jié)合實例形式分析了Python觀察者模式的相關(guān)定義與使用技巧,需要的朋友可以參考下
    2018-01-01
  • python基礎(chǔ)教程項目三之萬能的XML

    python基礎(chǔ)教程項目三之萬能的XML

    這篇文章主要為大家詳細(xì)介紹了python基礎(chǔ)教程項目三之萬能的XML,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python變量和數(shù)據(jù)類型詳解

    Python變量和數(shù)據(jù)類型詳解

    這篇文章主要介紹了Python變量和數(shù)據(jù)類型,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-10-10
  • 詳解Python操作RabbitMQ服務(wù)器消息隊列的遠(yuǎn)程結(jié)果返回

    詳解Python操作RabbitMQ服務(wù)器消息隊列的遠(yuǎn)程結(jié)果返回

    RabbitMQ是一款基于MQ的服務(wù)器,Python可以通過Pika庫來進(jìn)行程序操控,這里我們將來詳解Python操作RabbitMQ服務(wù)器消息隊列的遠(yuǎn)程結(jié)果返回:
    2016-06-06
  • Django框架中方法的訪問和查找

    Django框架中方法的訪問和查找

    這篇文章主要介紹了Django框架中方法的訪問和查找,包括各種列表和字典的查找,是Python的Django框架使用的必備技巧,需要的朋友可以參考下
    2015-07-07
  • Python幾種常見算法匯總

    Python幾種常見算法匯總

    這篇文章主要介紹了如何用Python實現(xiàn)幾種常見算法,文中代碼簡單易懂,方便大家更好的學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Python爬取用戶觀影數(shù)據(jù)并分析用戶與電影之間的隱藏信息!

    Python爬取用戶觀影數(shù)據(jù)并分析用戶與電影之間的隱藏信息!

    看電影前很多人都喜歡去 『豆瓣』 看影評,所以我爬取44130條 『豆瓣』 的用戶觀影數(shù)據(jù),分析用戶之間的關(guān)系,電影之間的聯(lián)系,以及用戶和電影之間的隱藏關(guān)系,需要的朋友可以參考下
    2021-06-06
  • python中np.multiply()、np.dot()和星號(*)三種乘法運算的區(qū)別詳解

    python中np.multiply()、np.dot()和星號(*)三種乘法運算的區(qū)別詳解

    這篇文章主要介紹了python中np.multiply()、np.dot()和星號(*)三種乘法運算的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python內(nèi)置函數(shù)anext的具體使用

    python內(nèi)置函數(shù)anext的具體使用

    本文主要介紹了python內(nèi)置函數(shù)anext的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 解決Keras 中加入lambda層無法正常載入模型問題

    解決Keras 中加入lambda層無法正常載入模型問題

    這篇文章主要介紹了解決Keras 中加入lambda層無法正常載入模型問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論