我使用过 Django 并使用make_password和处理密码check_password。
但是,我可以将框架更改为fastapi.
对于fastapi,我需要验证 Django 创建的密码,因为我应该使用与数据相同的数据库。
如何以与 Django 兼容的方式处理密码?
密码存储在数据库中的格式是这样的'pbkdf2_sha256$100000$Dl6Atsc1xX0A$0QFvZLpKdcvcmCNixVCdEA5gJ67yef/gkgaCKTYzoo4='
我找到了passlib支持 Django 兼容的方式。
from django.contrib.auth.hashers import make_password
from passlib.handlers.django import django_pbkdf2_sha256
password = 'testpassword123'
django_hash = make_password(password)
is_verified = django_pbkdf2_sha256.verify(password, django_hash)
if is_verified:
print('Correct!!')
Run Code Online (Sandbox Code Playgroud)