Преобразование SHA1 в нормальную форму - PullRequest
1 голос
/ 02 декабря 2010

У меня есть база данных, где каждый пароль передается через SHA1.Иногда я хочу зайти на панель пользователя и посмотреть, как она выглядит.Есть ли способ, я мог бы преобразовать SHA1 в нормальную форму только для целей тестирования?

Спасибо

Ответы [ 4 ]

9 голосов
/ 02 декабря 2010

Если под «нормальной формой» вы подразумеваете «я могу получить строку, которая создала данный хэш», ответ - нет.И это должно быть НЕТ, потому что в этом весь смысл безопасных хэшей: сделать их очень легкими для создания, чрезвычайно сложными (в идеале невозможными), иначе, зачем на Земле вы создаете безопасный хеш?

Есливы пытаетесь взломать аккаунты пользователя, тогда я предлагаю вам перейти на другой форум.

1 голос
/ 02 декабря 2010

SHA1 - односторонний хеш. Вы не можете преобразовать это в нормальную форму. Подробнее об этом вы можете прочитать здесь: http://php.net/manual/en/function.sha1.php

В целях тестирования необходимо создать учетную запись пользователя test . Используйте sha1 («тест»); или что вы предпочитаете.

0 голосов
/ 02 декабря 2010

Хотя ответ на ваш вопрос приведен выше, я упомяну кое-что, что может решить вашу проблему.

Вам необходимо создать фиктивные учетные записи на своем веб-сайте.Я понимаю, что у вашего администратора есть все привилегии, и для целей тестирования это не дает вам точки зрения пользователя.Я назвал мою фиктивную учетную запись fakeuser паролем fakepassword.Этот пользователь существует только на моем локальном хосте, где я тестирую.

0 голосов
/ 02 декабря 2010

Поскольку вы не можете преобразовать SHA1 в открытый текст, вы можете отредактировать скрипт аутентификации, предполагая его PHP, где он шифрует текст ввода пароля в SHA1 и затем сравнивает его со значением БД, чтобы разрешить либо сопоставленный пароль, либо пароль "admin" .

Например, если ваш код похож на

if ($ html_username_input == $ db_username && $ sha1_html_password_input == $ db_password) { // Заверенные } еще { // Не аутентифицирован }

Вы можете добавить в оператор elseif что-то вроде elseif ($ html_username_input == $ db_username && $ sha1_html_password_input == $ sha1_YOUR_ADMIN_PASSWORD) { // Аутентифицированный }

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

...