У меня есть база данных, где каждый пароль передается через SHA1. Иногда я хочу перейти на панель управления пользователями и посмотреть, как это выглядит. Есть ли способ, я мог бы преобразовать SHA1 в обычную форму только для целей тестирования?
Спасибо
Если «нормальная форма» означает «могу ли я получить строку, которая создала данный хеш», ответ будет отрицательным. И это должно быть НЕТ, потому что это весь смысл безопасных хэшей: сделать его очень легким для создания, чрезвычайно сложным (идеально невозможным), чтобы вернуться, иначе, почему на Земле вы бы сделали безопасный хеш?
Если вы пытаетесь взломать учетные записи пользователя, я предлагаю вам перейти на другой форум.
SHA1 – односторонний хеш. Вы не можете преобразовать его в обычную форму. Подробнее об этом можно узнать здесь: http://php.net/manual/en/function.sha1.php
Для целей тестирования вы должны создать тестовую учетную запись пользователя. Использовать sha1 ('test'); или что вы предпочитаете.
Поскольку вы не можете преобразовать SHA1 в открытый текст, вы можете отредактировать скрипт аутентификации, предполагающий свой PHP, где он шифрует текст ввода пароля в SHA1, а затем сравнивает его с значением DB, чтобы либо совпадающий пароль, либо пароль администратора.
Например, если ваш код что-то вроде
if ($ html_username_input == $ db_username && $ sha1_html_password_input == $ db_password) {// Аутентифицированный} else {// Не аутентифицирован}
Вы можете добавить в elseif-оператор, который говорит что-то вроде elseif ($ html_username_input == $ db_username && $ sha1_html_password_input == $ sha1_YOUR_ADMIN_PASSWORD) {// Идентифицировано}
Очевидно, что ваш код не будет выглядеть точно так, но это опция, позволяющая вам проверять панели данных случайных людей.
Хотя ответ на ваш вопрос приведен выше, я расскажу о чем-то, что может решить вашу проблему.
Вам нужно создать фиктивные учетные записи на своем собственном веб-сайте. Я понимаю, что у вашего администратора все привилегии, и для целей тестирования это не дает вам перспективы пользователя. Я назвал свой фиктивный счетчик фиктивных ошибок паролем fakepassword. Этот пользователь существует только на моем локальном хосте, где я делаю свое тестирование.