Обнаружение типа шифрования пароля - могу ли я импортировать их в Django? - PullRequest
0 голосов
/ 23 января 2011

У меня есть устаревшая система с паролями, которые выглядят так: 115c28e0578f262bde08e3de39ee9066.Я не совсем уверен, были ли они созданы с помощью md5 или crypt или ... Это было Java-приложение, которое создало их.

Моя новая система на Python (Django), и я попытался выполнить проверку сравнения наизвестный пароль с помощью md5 (), sha1 () и crypt ().Никто из них не вернулся с идентичным результатом того, что дала мне эта устаревшая система.

Предполагая, что пароли были созданы в Java, могут ли эквивалентные модули Pythons их читать / конвертировать, поэтому я могу импортировать их в проект Django?Я бы хотел, чтобы моим пользователям не приходилось глючить, чтобы сбросить их пароли.

1 Ответ

4 голосов
/ 23 января 2011

В общем, вам нужно знать точный алгоритм, используемый программой Java.Тогда вы сможете воссоздать те же результаты в Python.(Вы не можете получить простой текстовый пароль из хеша, не используя brute-force, но вы должны иметь возможность воссоздать тот же алгоритм хеширования, чтобы вы могли проверить пароль пользователя по хешу).Вполне возможно, что пароли, которые хэшируются с чем-то, называемым salt , когда они хранятся в приложении Java.Это немного случайной информации, добавленной к паролю, и цель состоит в том, чтобы отразить атаки по словарю.Если это так, вам нужно знать, какие данные использовались для соли.

...