@dev400

Как разобрать md5 с вложенностью и солью?

Если известны все составляющие можно как то раскодировать?
public function password($pass) {

        return md5 (
            md5(
                md5( $pass ) . $this->salt
            ) . $this->salt
        );

    }
  • Вопрос задан
  • 705 просмотров
Решения вопроса 3
DevMan
@DevMan
раскодировать/расшифровать нельзя.
можно только подбирать.
Ответ написан
Комментировать
Daemon23RUS
@Daemon23RUS
Если известны все составляющие
Что именно известно ? Если известно все, то что Вы хотите раскодировать ?
В Вашем случае, если предположить что по хешу, зная соль, Вы пытаетесь "декодировать" пароль: существует некоторое количество коллизий (читай вариантов пароля) при которых функция будет возвращать идентичный хеш для первой итерации md5( $pass ). (как впрочем и для всей функции) 2я и 3я итерации с добавлением . $this->salt в теории ослабляют сложность нахождения самой соли (за счет того что в обоих итерациях используется одно и то же значение), но Очень значительно отдалят Вас от нахождения коллизии для (результата md5( $pass ) ) Хотя, какая разница если все сведется к брутфорсу.
UPD: Есть устройства генерирующие хеши с огромной скоростью, недостижимой обычным компьютером напрмер AntMiner S9 выдает 14 Терахешей в секунду
Ответ написан
@Camaro67
Помог? - "Отметить решением"
Как уже сказали раскодировать или расшифровать нельзя т.к. это хэширование, а не шифрование, так что только подбирать.
И если даже вы подберете значение под этот хэш, это еще не дает 100% гарантию, что это именно то значение т.к. md5 подвержен коллизиям.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы