Трябва да осигуря достъп до базата данни Джангоот друг софтуер на 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
Разбира се, няма много проверки и не е гъвкава, но това, което търся.