#python #django #passwords #password-encryption
#python #django #пароли #пароль-шифрование
Вопрос:
Я работаю над проектом Django 1.9, и меня попросили разрешить некоторым пользователям печатать страницу со списком набора пользователей и их паролей. Конечно, пароли зашифрованы, и нет готовых способов сделать это. Я знаю, что это будет означать нарушение безопасности, поэтому мой вопрос отчасти противоречив, но есть ли какой-либо логический способ сделать это, который не подразумевает огромного нарушения безопасности в программном обеспечении?
Комментарии:
1. Если вам нужна дополнительная информация, возможно, попробуйте это здесь: security.stackexchange.com У них уже есть какой-то вопрос по вашей теме, может быть, дать ему прочитать? Короче говоря, нет, вы никогда не сможете распечатать установленный пользователем пароль. Если это пароль по умолчанию, это не будет проблемой, подобной стандартному номеру birthday id. wim покрывает все остальное, что я хочу сказать.
2. Вы не должны. этот запрос не имеет смысла, и он должен быть незаконным.
Ответ №1:
Нет, нет логического способа сделать это, который не подразумевает огромного нарушения безопасности в программном обеспечении.
Если пароли хранятся правильно (соленые и хэшированные), то даже администраторы сайта с неограниченным доступом к базе данных не смогут сообщить вам, какие пароли находятся в обычном тексте.
Вы должны отклонить этот необоснованный запрос. Если у вас есть рабочая функция «сброса пароля», то никому, кроме пользователя, никогда не нужно знать пароль пользователя. Если у вас нет надежной функции «сброса пароля», попробуйте направить обсуждение и усилия по разработке в этом направлении. Редко возникает реальная бизнес-потребность в знании / печати паролей пользователей, и такого рода запросы функций могут исходить от нетехнических людей, у которых есть недопонимание (или непонимание) деталей реализации аутентификации и авторизации.
Комментарии:
1. Простого использования хэш-функции недостаточно, и простое добавление соли мало что делает для повышения безопасности. Вместо этого я выполняю перебор HMAC со случайной солью в течение примерно 100 мс и сохраняю соль с хэшем. Используйте такие функции, как
PBKDF2
,password_hash
,Bcrypt
и аналогичные функции. Смысл в том, чтобы заставить злоумышленника потратить много времени на поиск паролей методом перебора.