/ / Създаване на Django SHA1 пароли - django, django-admin, пароли

Генерирайте Django SHA1 пароли - django, django-admin, пароли

Трябва да осигуря достъп до базата данни Джангоот друг софтуер на Python, базиран на вече създадените потребители в Django. Аз съм добре с цялото нещо за достъп, просто ми трябва парче код, за да генерирам парола за Джанго, както правя в администраторския модул.

Какъв би бил най-добрият начин да направите това? Имайте предвид, че ако е възможно, не искам да имам целия пакет Джанго за това.

Много благодаря

Отговори:

4 за отговор № 1

Целият код за създаване и проверка на потребителски пароли е в django.contrib.auth.models.

По-конкретно погледнете методите User.set_password и User.check_password, Трябва да извлечете тези два бита и кода на Django, които те посочват, за да създадете и проверите потребителските пароли на проекта, както е описано в Django.


4 за отговор № 2

Научих как работи. Написах малка функция за проверка на потребителска парола:

def check_passwd (user, raw_password):
import hashlib
# ... get "hsh_passwd" from database based on "user" ...
hsh_passwd = hsh_passwd.split("$")
salt = hsh_passwd[1]
hsh = hsh_passwd[2]
if hsh == hashlib.sha1(salt + raw_password).hexdigest():
return True
return False

Разбира се, няма много проверки и не е гъвкава, но това, което търся.