Из руководства по PHP:
crypt () вернет хешированную строку, используя стандартный Unix
Алгоритм или альтернатива на основе DES
алгоритмы, которые могут быть доступны на
система.
Некоторые операционные системы поддерживают больше
чем один тип хэша. По факту,
иногда стандарт на основе DES
алгоритм заменен на MD5
алгоритм. Тип хеша срабатывает
по солевому аргументу. До 5.3,
PHP будет определять доступный
алгоритмы во время установки на основе
крипта системы (). Если нет соли
при условии, PHP будет автоматически генерировать
либо стандартный двухсимвольный (DES)
соль или двенадцать символов (MD5),
в зависимости от наличия MD5
Другими словами, функция crypt () просто вызывает функцию crypt () операционной системы из библиотеки C. Это означает две вещи.
Во-первых, тип шифрования стандартизирован. Вам не нужно использовать PHP для запуска грубой силы, вам просто нужно знать используемый алгоритм. Многие программы, такие как Cane и Abel или Jack the Ripper, способны сломать несколько алгоритмов с помощью атак методом перебора, словаря или радуги.
Во-вторых, тип шифрования зависит от операционной системы, в которой он был зашифрован. Это означает, что вам, возможно, придется попробовать несколько различных методов шифрования, если нет явного понятия о том, какой из них использовался (шаблон зашифрованной строки может вас зацепить).
Я бы определенно НЕ предлагал пытаться использовать PHP для грубой силы, поскольку интерпретируемые языки работают намного медленнее, чем их скомпилированные аналоги.