Как я преобразовываю хеширование пароля от MD5 до SHA?

Это - 'плохая практика' для использования их, не понимая их недостатков. Сообщение Adzm подводит итог их очень хорошо.

На обратной стороне, Gmail делает интенсивное использование iFrames в фоновом режиме для части, он - более прохладные функции (как автоматическая загрузка файла). Если Вы знаете об ограничениях iFrames, я не полагаю, что необходимо чувствовать любое раскаяние об использовании их.

15
задан Bruce Alderman 10 September 2009 в 04:42
поделиться

6 ответов

По сути то же самое, но, возможно, более элегантно, чем добавление дополнительных полей: при аутентификации по умолчанию framwork в Django , хэши паролей хранятся в виде строк, построенных следующим образом:

hashtype$salt$hash

Тип хэша - sha1 или md5, соль - это случайная строка, используемая для соления необработанного пароля, и, наконец, идет сам хеш. Пример значения:

sha1$a1976$a36cc8cbf81742a8fb52e221aaeab48ed7f58ab4
11
ответ дан 1 December 2019 в 04:10
поделиться

Думаю, у вас уже есть лучшие возможности. Мне нравится №1 больше, чем №2, так как md5 бесполезен после установки sha.

Невозможно отменить MD5, поэтому вам придется ждать, пока пользователь снова аутентифицируется, чтобы создать новый хэш.

3
ответ дан 1 December 2019 в 04:10
поделиться

Нет - в основном вам придется держать MD5 на месте до тех пор, пока все пользователи, о которых вы заботитесь, не будут преобразованы. Такова природа хеширования - у вас недостаточно информации для повторного преобразования.

Другой вариант, согласующийся с другими, - это сделать поле пароля эффективно самоописывающим, например

MD5:(md5 hash)
SHA:(sha hash)

Тогда вы могли бы легко определить, какой алгоритм использовать для сравнения, и избежать двух полей. Опять же, вы должны перезаписать MD5 с помощью SHA по мере продвижения.

Вам нужно будет выполнить первоначальное обновление, чтобы все текущие пароли объявлялись как MD5.

2
ответ дан 1 December 2019 в 04:10
поделиться

Если MD5 не соленые, вы всегда можете использовать сайт дешифрования / радужные таблицы, такие как: http://passcracking.com/index.php , чтобы получить пароли. Однако, вероятно, проще просто использовать метод перекодирования.

-1
ответ дан 1 December 2019 в 04:10
поделиться

Ваше второе предложение кажется мне лучшим. Таким образом, частые пользователи будут иметь более безопасный опыт в будущем.

Первый эффективный "quirks-mode" - это ваша кодовая база, и он только гарантирует, что новые пользователи будут иметь лучший опыт работы с SHA.

0
ответ дан 1 December 2019 в 04:10
поделиться

You can convert all your MD5 Strings to SHA1 by rehashing them in your DB if you create your future passwords by first MD5ing them. Checking the passwords requires MD5ing them first also, but i dont think thats a big hit.

php-code (login):

prev: $login = (md5($password) == $storedMd5PasswordHash);

after: $login = (sha1(md5($password)) == $storedSha1PasswordHash);

Works also with salting, got the initial idea from here.

6
ответ дан 1 December 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: