Мне нужно реализовать хранилище паролей в моем приложении GAE/python2.7. Я уже реализовал файлы cookie для авторизации, у меня уже есть учетная запись/модель пользователя, и у меня уже есть аутентификация через сторонних сторон. Теперь мне нужно добавить аутентификацию через пароль (запрос клиента).Рекомендации по хранению паролей в GAE/python
Я хочу, чтобы пароли были надежно сохранены. Я определил пару вариантов (ниже), которые кажутся разумными, но я никогда не применял хранение паролей раньше, поэтому я не знаю, что я не знаю. Я бы предпочел избежать проблемы, чем ждать проблемы.
Мой вопрос: является ли это лучшей практикой для GAE? Если нет, то что?
Обратите внимание, что я ищу только способ использования хэш-паролей перед хранением и сравнения. Мне не нужен полный пользовательский модуль.
Я уже рассмотрел previous question, который является полезным, но напрямую не разрешает мою проблему.
Варианты:
Использование Django. Что-то вроде
import django.contrib.auth.hashers as foo to_store_in_db = foo.make_password(conforming_password) # later passes = foo.check_password(entered_password, password_from_db)
(мы не в настоящее время используют Django в нашем приложении, поэтому мы можем использовать в зависимости от того, мы предпочитаем, но я предлагаю 1.4, потому что это самая последняя доступная в GAE, что разве движущуюся цель «последней»)
Использование webapp2_extras.security - аналогичные приведенным выше, но с использованием
generate_password_hash() #Seems like it only supports md5/sha1 check_password_hash()
благодаря
том
вам нужно использовать 'hexlify' делать? Кажется, что вы можете хранить 'dk' в свойстве string. –