2017年11月4日 星期六

Django - Password筆記

此筆記將紀錄使用者認證以及密碼

settting.py

我們將使用以下兩個app才能實作
TEMPLATE_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
]

我將使用bcrypt,使用bcrypt加密密碼是較安全的做法

pip install bcrypt
pip install [argon2] # 如果是1.10以上不需要裝argon2,已經內建於django中


於settings新增

PASSWORD_HASHERS = [
    'django.contrib.auth.hashers.PBKDF2PasswordHasher',
    'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',
    'django.contrib.auth.hashers.Argon2PasswordHasher',
    'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',
    'django.contrib.auth.hashers.BCryptPasswordHasher',
]


設定AUTH_PASSWORD_VALIDATORS(可略過)

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
        'min_length' : 9, #設定密碼至少9碼
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]



沒有留言:

張貼留言