@dev400

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽