Рейтинг:
24
Dave Kreskowiak
Ты не можешь. MD5-это не шифрование. Это криптографический хэш. Вы не можете "расшифровать" хэш обратно к исходному содержимому.
Проблема с тем, что вы связали, заключается в том, что из-за коллизий вы не можете гарантировать, что текст, который придумывает эта техника, является единственной строкой, которая генерирует этот хэш. Они использовали словарь известных хэш - значений, представляющих известные строки. Это "дайте нам хэш-значение, и мы ищем строку, которую мы использовали для генерации этого хэша".
Коллизия-это когда несколько входных строк могут генерировать одно и то же хэш-значение. Результат хэширования MD5 содержит такое малое количество битов (что касается хэшей), что вероятность столкновения выше, чем у других хэшей, использующих больше битов.
Подумайте об этом. Возможно ли представить неограниченное число возможных строк в ограниченном, малом числе битов? Нет.
Кроме того, никогда не используйте MD5 для хэширования паролей!! MD5 считается сломанным из-за относительно небольших инвестиций в вычислительную мощность, необходимую для угадывания строки, которая сгенерировала хэш.
0x01AA
А 5 за упоминание о столкновениях.
Я совершенно нуб в этих криптографических вещах. Итак, можете ли вы объяснить мне, почему MD5 (128 бит) отсутствует, а GUID (128 бит) все еще является чем-то, на что мы можем положиться?
Заранее спасибо.
Dave Kreskowiak
GUID-это глобально уникальный идентификатор. По сути, это просто число, произвольно присвоенное фрагменту информации, например записи в базе данных. Это вовсе не шифровка. На самом деле это даже не "глобально" уникально, поскольку речь идет о машинах в мире. Однако это уникальное "достаточно". Шансы на столкновение есть почти 0. возможно, что две машины где-то в мире генерируют один и тот же UUID.
В большинстве случаев вы даже не получаете полные 128 бит для использования, ограничивая количество возможных комбинаций! Причина этого кроется в различных форматах для версий UUID или GUID (MS). Перейдите к чтению информации о версии UUID по адресу https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_1_(date-time_and_MAC_address), чтобы узнать, какие данные используются для составления различных значений UUID.
Криптографический хэш запускает поток байтов через алгоритм, который каким-то образом изменяет результирующий набор битов. Поскольку результат MD5 всегда равен 128 битам, вы получаете ограниченное число возможных исходов. Чем больше вы используете MD5, или генерируете значения из него, или любой алгоритм хэширования, тем выше вероятность столкновения. Чем больше битов содержит результат, тем меньше вероятность.
Тааак, что это только что значило? Ну, скажем, у вас есть алгоритм хэширования, который генерирует 32-битные значения. Это дает вам 4,294 миллиарда возможных комбинаций, в основном, список возможных значений. Теперь бросьте в алгоритм строку байтов, и он выдаст вам одно из этих значений из списка, по сути, удалив его из списка. Теперь дайте ему еще одну строку байтов, и вы получите еще одно хэш-значение из списка. Продолжайте идти, и количество возможных хэш-значений продолжает уменьшаться. На самом деле никакого списка нет. Это всего лишь вероятностный анализ. Если вы хотите действительно хорошее описание того, что происходит, прочитайте это: Вероятности Столкновения Хэшей[^]
0x01AA
Большое вам спасибо за это.
Рейтинг:
2
AtulSharma609
Вы не можете расшифровать MD5
Ссылка, которую вы упомянули, расшифровывает только MD5, который вы шифруете там или кто-то другой сделал
Попробуйте эту строку
a23ee3caaeef2cf08e96dde037a74df4
Он не будет расшифровывать но как только вы зашифруете исходные данные он будет расшифровывать данные
вы можете попробовать использовать эту исходную строку данных, как показано ниже
amount=1¤cy=USD&fields=id,amount,notify_status,currency,time,reference,notify_id&id=3ea3b468735b81e1ef5536d91¬ify_id=D0000036689-e915dc40b72c89e4ed55¬ify_status=success&reference=190404184802PTM03498&time=20190404104820&token=AC12A68A47E1D4569A98688062F9860D0
Рейтинг:
0
MadMyche
Вы не.
Все это ты мочь сделать с криптографическим хэшем - это сделать сравнение.
Если бы это был пароль, вы бы применили тот же алгоритм хэширования к записи пользователя и посмотрели, соответствует ли он тому, что сохранено.
Это относится не только к MD5, но и к семейству SHA, bCrypt (blowfish) и другим популярным подпрограммам.
Что касается самого MD5, то он небезопасен для криптографического использования из-за уязвимостей. Он по-прежнему считается безопасным для других целей, таких как целостность данных и контрольные суммы которые, как правило, не являются намеренно испорченными