如何在没有 Django 的情况下验证 Django 创建的密码(make_password)

San*_*Kim 2 python django

我使用过 Django 并使用make_password和处理密码check_password

但是,我可以将框架更改为fastapi.

对于fastapi,我需要验证 Django 创建的密码,因为我应该使用与数据相同的数据库。

如何以与 Django 兼容的方式处理密码?

密码存储在数据库中的格式是这样的'pbkdf2_sha256$100000$Dl6Atsc1xX0A$0QFvZLpKdcvcmCNixVCdEA5gJ67yef/gkgaCKTYzoo4='

San*_*Kim 5

我找到了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)