Что такое радужная таблица

Радужные таблицы в домашних условиях

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Прошедшая неделя с точки зрения информационной безопасности выдалась исключительно «удачной»: то база хэшей LinkedIn утекла в сеть, то хэши last.fm. И во всех обсуждениях, так или иначе, упоминают о радужных таблицах.
Слышали о них почти все, но делали их своими руками очень немногие.

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

Интеллектуального прорыва в области радужных таблиц сегодня не планируется, а есть желание рассказать, что радужные таблицы – это не сложно, поэтому и писать будем на чем-то простом, а именно: PHP. Хранить таблицу в MySQL.

Весь код доступен на GoogleCode, я же опишу основные моменты, над которыми пришлось подумать и которые необходимо реализовать.

Для начала необходимо поговорить о входном алфавите. В наборе паролей участвует не все символы ASCII таблицы, а только те, которые можно без лишних хитростей набрать на клавиатуре ПК или мобильного устройства. Чем меньше входной алфавит, тем быстрее будет сгенерирована радужная таблица, но и паролей по заданным хэшам найдется меньше. В нашем случае будем использовать входной алфавит из цифр и букв латинского алфавита верхнего и нижнего регистров.

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

Внутри цепочек попеременно применяется то хэш-функция, то функция редукции. С хэш-функцией все ясно – это MD5, SHA1 или любая другая (в нашем случае будем использовать MD5). С функцией редукции ясности меньше. Во-первых, функция редукции, получив на входе хэш, должна выдать некоторый пароль из символов входного алфавита. Во-вторых, функция редукции необходима не одна единственная, а упорядоченное множество функций редукции, причем мощность этого множества равна длине цепочки.

Конечно, можно было бы написать две-три функции редукции самостоятельно, но не в случае, когда длина цепочки равна 100 или 1000. Тем более, хотелось бы, чтобы длина цепочки хранилось в константе, которую можно заменить легким движением руки.

В голову приходить достаточно очевидное решение: нужно использовать Генератор псевдослучайных чисел (ГПСЧ). Для каждой конкретно взятой функции редукции инициализировать ГПСЧ определенным набором бит из хэша, поступающего на вход, а затем получать пароль с помощью вызова getWord().

В принципе действовать на уровне отдельных бит и не требуется. Инициализировать ГПСЧ нужно числом типа int, для моей платформы – это 32 бита или 4 байта. MD5 состоит из 16 байт (посмотрите на второй параметры у функции md5 в PHP), тогда количество возможных размещений равно 16! / (16 — 4)! = 43680 – даже для длины цепочки в 1000 хватит с запасом.

Тогда собственно функция редукции, принимающая на вход хэш и номер текущего шага в цепочке, будет иметь вид:

С учетом всего вышеописанного функция расчета конца цепочки по ее началу тривиальна:

Поздравляю, мы проделали большую работу, и остался только один аспект нахождения пароля по заданному хэшу, о котором необходимо рассказать.

В классическом варианте берется последняя n-ая функция редукции от хэша и получившийся пароль ищется в радужной таблице, если ничего не нашлось, берется n-1 редукция, потом вычисляется хэш, потом n-ая редукция и ищется в таблице и так далее, пока не найдется пароль. При использовании MySQL это могло бы вылиться в n однотипных SELECT-ов (в худшем случае) – даже начинающий веб-программист знает, что за это можно и по рукам получить! Конечно же, достаточно одного SELECT-а для поиска одного пароля, но для этого необходимо генерировать все пароли для поиска разом:

Все остальные манипуляции с MySQL прямого отношения к радужным таблицам не имеют, а другие части исходного кода, по моему мнению, понятны и без объяснений.

И напоследок ложка дегтя. PHP и MySQL прекрасно справляются с созданием прототипов на скорую руку, но PHP действительно не самый быстрый язык и хранение радужной таблицы в реляционной СУБД общего назначения не самое эффективное решение. Радужную таблицу для MD5 для 6-символьных паролей с длиной цепочки 1000 из 2 миллионов записей ноутбук на базе i3-330UM генерировал более 8 часов. В идеале полученная таблица может обратить 2*10^9 хэшей, но это число не соизмеримо с общим количеством 6-символьных паролей, которых 56,8*10^9 на выбранном входном алфавите.

Это в очередной раз показывает, насколько важен выбор подходящего инструмента для решения конкретной задачи.
Думаю, что задачу наглядно продемонстрировать принцип реализации радужных таблиц мне на пару с PHP всё-таки удалось решить.

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Как использовать радужные таблицы для взлома паролей Wi-Fi в Hashcat и John the Ripper

Радужные таблицы для брут-форса Wi-Fi паролей

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

То есть по радужной таблице ищется хеш, если он найден, то смотрим, какой пароль ему соответствует. Поиск по базе данных выполняется очень быстро. Благодаря ему становится возможной на первый взгляд невозможная операция: восстановление данных из контрольной суммы, например, из хеша MD5 мы можем получить исходную строку, для которой была вычислена контрольная сумма MD5.

В результате появления концепции радужных таблиц, теперь повсеместно распространено хеширование с солью и многократное (итерированное) хеширование.

Соль — это дополнительные уникальные данные, которые добавляются к паролю. В результате радужные таблицы становятся непригодными. Соль не является секретной, может храниться в открытом виде. Это не мешает ей делать непригодными радужные таблицы.

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

Итак, что по поводу радужных таблиц для взлома Wi-Fi паролей? Дело в том, что это изначально алгоритм с солью — роль соли выполняет название точки доступа. То есть можно рассчитать радужную таблицу, но она будет пригодна только для точки доступа с определённым названием.

Какие преимущества использования радужных таблиц для брут-форса Wi-Fi?

Вычисление радужных таблиц занимает ровно столько же времени сколько и брут-форс. Но поиск по созданной радужной таблице занимает доли секунды. Отсюда следствие: если вы хотите проверить одно рукопожатие для Точки Доступа, то разницы между брут-форсом и использованием радужных таблиц нет.

Но всё меняется, если вы хотите проверить два и более рукопожатия для одной точки доступа. В этом случае вы можете проверить любое количество рукопожатий, затратив время как на одно. А это (проверка нескольких рукопожатий для одной ТД) не лишено смысла, ведь рукопожатия могут быть бракованными (составленными из нескольких), в результате не получится взломать пароль, даже если правильный пароль был проверен для такого бракованного рукопожатия.

Как уже было сказано, поиск по радужной таблице выполняется очень быстро и не требует серьёзных вычислительных ресурсов. То есть если вам нужно взломать Точку Доступа с известным именем, то вы можете предварительно рассчитать радужную таблицу для неё на мощном компьютере. А захватить и проверить по радужной таблице рукопожатие вы можете на маломощном (миниатюрном) оборудовании.

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

Виды радужных таблиц Wi-Fi. Состав радужных таблиц для взлома Wi-Fi

Главным элементом радужных таблиц для взлома Wi-Fi являются plainmasterkeys. Для их вычисления нужно название ТД (ESSID) и кандидат в пароли. Но: из plainmasterkeys невозможно извлечь пароль, с помощью которого он был вычислен (только если брут-форсом). Поэтому кроме plainmasterkeys в базе данных должны быть также исходные пароли.

Как именно это «оформить» программы решают по-своему. Среди знаменитых программ, которые уже давно используют радужные таблицы для взлома Wi-Fi, это Pyrit и coWPAtty. Причём Pyrit может использовать мощность видеокарты для выполнения вычислений, поэтому раньше справедливо назывался самым быстрым взломщиком Wi-Fi паролей. У Pyrit и coWPAtty разные форматы баз данных. Поскольку в настоящее время эти программы не очень актуальны, не будем на них останавливаться.

В настоящее время актуальными программами, которые могут использовать радужные таблицы для взлома Wi-Fi, являются Hashcat и John the Ripper. Обе эти программы могут использовать видеокарты. Но суть в том, что это неважно — эти программы только проверяют хеш перехваченного рукопожатия по радужной таблице. А саму радужную таблицу нужно создавать с помощью сторонней программы.

Hashcat и John the Ripper в качестве радужной таблицы принимают простой список plainmasterkeys, не содержащий соответствующих каждому PMK паролей! Запомним это…

Программа для генерации радужной таблицы Wi-Fi

Радужные таблицы Wi-Fi может создавать программа wlangenpmkocl из пакета hcxkeys.

Пакет hcxkeys включает две утилиты:

То есть разница между ними только в том, что wlangenpmkocl использует видеокарту, а wlangenpmk использует центральный процессор. Конечно же, предпочтительнее использовать версию для видеокарты (то есть wlangenpmkocl). Версия wlangenpmk только для крайних ситуаций — у вас нет дискретной видеокарты или вы не можете установить её драйвер для полноценной поддержки OpenCL

Как установить hcxkeys

Чтобы использовать wlangenpmkocl, установите драйверы для видеокарты, информацию об этом и о OpenCL вы найдёте в статьях:

Установка в Kali Linux

Если при выполнении команды make выведены следующие сообщения:

то это не ошибки — это информация. Компиляция всё равно должна завершиться успешно и можно продолжать.

Установка в BlackArch

Как создать радужную таблицу для взлома в Hashcat или John the Ripper

На этапе создания радужной таблицы рукопожатие или хеш не нужны. Нужно только название ТД, но название обязательно должно быть правильным.

К примеру, у меня есть захваченное рукопожатие, название ТД в нём можно посмотреть множеством способов, я воспользуюсь командой aircrack-ng:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Название показано в столбце ESSID, в моём случае это RT-WiFi_96.

Теперь нам нужно посмотреть номер устройства (видеокарты), которые мы укажем для использования в wlangenpmkocl. Если вы будете использовать wlangenpmk, то пропустите этот шаг.

Для вывода список OpenCL устройств используйте опцию -l:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Как мило — программа не только показала список устройств, но и написала, какие опции нужно указать, чтобы использовать то или иное железо:

Конечно же, я буду использовать GeForce GTX 1050 Ti, из представленного списка она самая мощная.

Теперь нужно запустить команду вида:

Для wlangenpmk всё точно также, но не нужно использовать опции -P и -D.

Скорость генерации около 100 тысяч хешей в секунду.

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

ВНИМАНИЕ: если в файле «ФАЙЛ-ВЫВОДА-PMK» уже есть строки, то файл будет дополнен, а не перезаписан!

Как в Hashcat использовать радужные таблицы для взлома Wi-Fi

Чтобы не запутаться, где какой файл указывать, разберёмся, как работают Hashcat и John с радужными таблицами. Эти программы работают по принципу «получен пароль → для него рассчитан хеш → хеш сравнивается с предоставленным». При работе с радужными таблицами в качестве «пароля» выступает хеш из радужной таблицы.

То есть мы будем работать с хешами двух типов: PMK и хеш рукопожатия. Значения PMK должны указываться в качестве кандидатов в пароли.

Теперь с помощью программы cap2hccapx из пакета hashcat-utils, нам нужно конвертировать захваченное рукопожатие в хеш, который может взламывать hashcat.

Установка hashcat-utils в Kali Linux:

Установка hashcat-utils в BlackArch:

Для конвертации используется команда вида:

То есть хеш сохранён в файл RT-WiFi_96.hash.

Теперь нужно запустить hashcat. В качестве режима взлома нужно указать -m 2501 (WPA-EAPOL-PMK).

В моём случае это следующая команда:

Проверка по почти 10 миллионам plainmasterkeys заняла меньше секунды.

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Но радоваться пока рано, обычно взломанный пароль содержится после названия ТД через двоеточие, но посмотрим повнимательнее на нашу строку:

Там после двоеточия f390e0c3f2fcf6d6ef1f98067631406478ab76c8b04d218d1ce4f5941f16c4e0 — это plainmasterkey, мы можем даже найти его в файле pmk.txt, но толку от этого мало.

Как восстановить пароль из plainmasterkey

Есть два способа получить пароль — я покажу вариант от автора программы и второй, который я придумал сам. Вы сами можете выбрать, который вам нравится больше.

Нам нужен инструмент wlanpmk2hcx из пакета hcxtools.

Установка в Kali Linux

Установка в BlackArch

Теперь нужно выполнить команду вида

В моём случае это команда:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

А вы думали вам покажут пароль? Неа. Нам дали новый хеш и мы его будет опять брут-форсить (не забывайте, дальше будет мой собственный способ, в котором можно обойтись без этого).

Итак, нам нужно использовать hashcat с режимом хеша 12000 (PBKDF2-HMAC-SHA1). Новый хеш:

Запускаем команду вида:

ХЕШ обязательно поместите в кавычки или сохраните в файл и в строке команды укажите файл.

Скорость перебора 247.5 kH/s и через 6 секунд хеш взломан.

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Посмотрим на строку:

В ней подобранным паролем является 22011995 — это и есть пароль от ТД Wi-Fi.

Последняя стадия явно лишняя — мы сделали ненужную работу, которую можно было бы не делать. Давайте разберёмся с этим.

Как пропустить этап взлома plainmasterkey

Мы использовали программу wlangenpmkocl с опцией -a, что означает вывод plainmasterkeys в файл. У программы есть также опция -A, которая позволяет генерировать файл со строками вида plainmasterkey:ПАРОЛЬ. Создадим такой файл:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

«Небольшой» минус этого формата в том, что с таким файлом не может работать hashcat. Поэтому мы будем использовать такую конструкцию (считывается ФАЙЛ-PMK, из него берётся только PMK без пароля и отправляется по стандартному вводу в hashcat в качестве кандидата) :

У меня файл с plainmasterkeys формата plainmasterkey:ПАРОЛЬ имеет имя pmk.txt, хеш, извлечённый из хендшейка, помещён в файл RT-WiFi_96.hash, тогда команда следующая:

Опять всё взломано за 0 секунд.

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

И опять вместо пароля нам дан хеш:

В чём тогда разница? А разница в нашем файле pmk.txt, в котором каждому хешу соответствует его пароль!

То есть теперь мы выполним команду вида:

Тогда команда следующая:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

То есть найден хеш и соответствующий ему пароль (22011995), который идёт после двоеточия.

Как в John the Ripper использовать радужные таблицы для взлома Wi-Fi

В John the Ripper всё очень похоже, рассмотрим два варианта — последовательный взлом PMK и хеша и взлом только одного PMK.

1-й вариант

Создаём радужную таблицу командой вида:

Предыдущая команда по вычислению PMK одинаковая с той, которую мы использовали для Hashcat. Но для конвертации рукопожатия в хеш для John the Ripper команда отличается. Причём программа wpapcap2john (которая конвертирует рукопожатия для взлома по маске или по словарю) не подойдёт для взлома по радужным таблицам. Подробнее о wpapcap2john смотрите в «Полном руководстве по John the Ripper. Ч.2: утилиты для извлечения хешей».

Нам нужно использовать программу hcxpcapngtool из пакета hcxtools.

Установка в Kali Linux

Установка в BlackArch

Для конвертации рукопожатия в хеш для взлома по радужным таблицам в John используйте команду вида:

Теперь, когда вычислена радужная таблица и сгенерирован хеш рукопожатия, в john запустим по ней проверку хеша рукопожатия. В качестве словаря нам нужно указать файл с вычисленными PMK, общий вид команды:

Будет выбран формат хеша wpapsk-pmk. Существует также формат хеша wpapsk-pmk-opencl, который отличается тем, что используются вычисления на видеокарте. На самом деле, OpenCL форматы запускаются значительно дольше (несколько секунд), а вычисление даже на wpapsk-pmk выполняется за доли секунды. Поэтому особого смысла указывать опцию —format=wpapsk-pmk-opencl нет. Но просто помните о такой возможности на случай очень больших радужных таблиц.

Итак, мои plainmasterkeys сохранены в файл pmk.txt, а хеш рукопожатия сохранён в файл RT-WiFi_96.john, тогда команда для поиска по радужной таблице следующая:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Совпадение найдено, об этом говорит строка:

Если вы что-то пропустили, то взломанный пароль/хеш можно посмотреть командой вида:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Теперь нужно запустить команду вида:

В моём случае это команда:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Применительно к john, нам дано имя алгоритма: pbkdf2-hmac-sha1 для взлома, а также хеш:

Предыдущая команда и её вывод нам уже знакомы по разделу с Hashcat. В справке сказано, что можно добавить к ней опцию -j, которая означает, сохранить вывод для john в файл:

Но у меня это не сработало — поэтому просто сохраним приведённый выше хеш в файл forjohn.hash.

Теперь нужно запустить команду вида:

Вместо формата PBKDF2-HMAC-SHA1-opencl (взлом на видеокарте) можно указать PBKDF2-HMAC-SHA1 (взлом на центральном процессоре).

У меня словарь имеет имя rockyou_cleaned.txt, а хеш помещён в файл forjohn.hash, поэтому команда следующая:

Наконец-то взломан пароль от ТД, это: 22011995

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

2-й вариант (пропуск брут-форса plainmasterkey)

Запускаем wlangenpmkocl с опцией -A:

Теперь нужно запустить команду вида:

Обратите внимание, что опция —wordlist заменена на опцию —stdin, которая означает считывать кандидаты в пароли из стандартного ввода.

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

В нашем файле pmk.txt каждому хешу соответствует его пароль — это благодаря опции -A, которую мы использовали с программой wlangenpmkocl.

То есть теперь мы выполним команду вида:

Тогда команда следующая:

Что такое радужная таблица. Смотреть фото Что такое радужная таблица. Смотреть картинку Что такое радужная таблица. Картинка про Что такое радужная таблица. Фото Что такое радужная таблица

Найден хеш и соответствующий ему пароль (22011995), который идёт после двоеточия.

Как по маскам создавать радужные таблицы для взлома Wi-Fi

Программа wlangenpmkocl вместо опции -i СЛОВАРЬ может получать список кандидатов в пароли из стандартного ввода. То есть следующая команда

полностью эквивалентна этой

ВНИМАНИЕ: помните о разнице опций -A и -a и выберите ту из них, которая вам подходит.

По этой причине можно генерировать кандидаты паролей в программах, поддерживающих маски и передавать их на вход wlangenpmkocl.

Для вывода кандидатов в пароли с помощью Hashcat используйте опцию —stdout в команде вида:

В этой команде hashcat генерирует пароли по маске ?d?d?d?d?d?d?d?d (пароли из восьми цифр) и из них рассчитываются PMK.

В качестве альтернативы Hashcat можно использовать Maskprocessor в команде вида:

В John the Ripper помощью опции —stdout вы можете вместо запуска взлома показать создаваемые кандидаты в пароли.

Команда, аналогичная предыдущим:

Будущее

Источник

Радужные таблицы

Радужная таблица (англ. rainbow table ) — специальный вариант таблиц поиска (lookup table), использующий механизм уменьшения времени поиска за счет увеличения занимаемой памяти или time-memory tradeoff. Радужные таблицы используется для вскрытия паролей, преобразованных при помощи необратимой хеш-функции.

Содержание

Теория

Радужная таблица создается построением цепочек возможных паролей. Каждая цепочка начинается со случайного возможного пароля, затем подвергается действию хеш-функции и функции редукции. Данная функция преобразует результат хеш-функции в некоторый возможный пароль. Промежуточные пароли в цепочке отбрасываются и в таблицу записывается только первый и последний элементы цепочек. Создание таблиц требует времени и памяти (вплоть до сотен гигабайт), но они позволяют очень быстро (по сравнению с обычными методами) восстановить исходный пароль.

Для восстановления пароля данное значение хеш-функции подвергается функции редукции и ищется в таблице. Если не было найдено совпадения, то снова применяется хеш-функция и функция редукции. Данная операция продолжается, пока не будет найдено совпадение. После нахождения совпадения, цепочка содержащая его, восстанавливается для нахождения отброшенного значения, которое и будет искомым паролем.

В итоге получается таблица, которая может с высокой вероятностью восстановить пароль за небольшое время.

Применение

При генерации таблиц важно найти наилучшее соотношения взаимосвязанных параметров:

Вышеназванные параметры зависят от настроек заданных при генерации таблиц:

При этом время генерации зависит почти исключительно от желаемой вероятности подбора, используемого набора символов и длины пароля. Занимаемое таблицами место зависит от желаемой скорости подбора 1 пароля по готовым таблицам.

При этом вероятность нахождения пароля с помощью данных таблиц составит 0.7542 (75.42 %), сами таблицы займут 596 Гб, генерация их на компьютере уровня Пентиум-3 1ГГц займёт 3 года а поиск 1 пароля по готовым таблицам не более 22 минут.

Однако процесс генерации таблиц возможно распараллелить, например расчёт одной таблицы с вышеприведёнными параметрами занимает примерно 33 часа. В таком случае если в нашем распоряжении есть 100 компьютеров, все таблицы можно сгенерировать через 11 суток.

Защита от радужных таблиц

Данные таблицы невозможно использовать против необратимых хеш-функций, которые включают salt («соль», или «затравка»). Например, рассмотрим следующую функцию для создания хеша от пароля:

где + обозначает конкатенацию.

Для восстановления такого пароля взломщику необходимы таблицы для всех возможных значений затравки.

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

Использование

Практически все дистрибутивы ОС Unix, GNU/Linux и PHP используют простой хеш (обычно Microsoft Windows и Windows NT используют хеши LAN Manager и NT LAN Manager, которые также не используют соль, что делает их одними из самых популярных для создания радужных таблиц.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *