passlib: использовать custom_app_context или самостоятельно сконфигурированный CryptContext?

В коде моего сайта я использую вспомогательный объект passlib custom_app_context для хеширования паролей перед сохранением их в базе данных.

Тем не менее, вы также можете создать собственный CryptContext; если я инициализирую его с помощью двух схем по умолчанию, используемых custom_app_context, он взаимозаменяем. Должен ли один быть предпочтительнее другого?

Преимущество использования custom_app_context заключается в том, что простое обновление версии библиотеки passlib позднее может автоматически использовать более безопасные алгоритмы хеширования по умолчанию, если это будет выбрано разработчиками passlib, что, вероятно, лучше, чем мой "информированный" выбор:). Я уже принял код для использования pwd_context.verify_and_update вместо pwd_context.verify, поэтому в этом случае хеши должны автоматически обновляться.

С другой стороны, если схемы обновляются автоматически, это может означать, что схемы, которые мой код использует сейчас, могут стать неиспользованными (а не просто "устаревшими") в этой версии, что сделает сохраненные существующие хеши неузнаваемыми, что может привести к неприятным сюрпризам для некоторых из моих пользователей. по дороге...

Любой совет?

0 ответов

Другие вопросы по тегам