Генерация пароля MD5 на OS X - PullRequest
1 голос
/ 08 августа 2010

Я работаю над OS X Snow Leopard и мне нужно программно сгенерировать пароль MD5crypt (), чтобы он соответствовал паролям, сгенерированным в Ubuntu 8.04 (crypt () на этой платформе использует MD5, если соль начинается с $ 1 $, потому что он используетcrypt () найден в glibc2, который обладает этой функциональностью).

В OS X есть подпрограмма md5crypt, но, к сожалению, она только для Tcl.

Тяжелым вариантом было бы разобратькод для команды openssl passwd и написать свою собственную на основе этого.

Я предполагаю, что попытка скомпилировать glibc2 и связать его с этим в OS X, вероятно, будет почти невозможна, если не невозможна.

Кто-нибудь сталкивался с проблемой и решил ее?Или есть предложения?(Я буду сообщать об ошибке в Apple с просьбой добавить ее)

Ответы [ 3 ]

0 голосов
/ 10 августа 2010

Чтобы ответить на мой вопрос, в настоящее время я не вижу простого способа решения этой проблемы в OS X, который бы не предусматривал развертывание вашей собственной реализации.

И чтобы еще больше подчеркнуть этот момент, вот Appleответ на мой запрос на улучшение:

В Mac OS X уже существует другая схема шифрования паролей, причем crypt () предоставляется только для соответствия Unix.Учитывая, что эта перегрузка crypt () с хешированием MD5 является нестандартной, нет планов по изменению реализации

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

Так что если вам нужен MD5-crypt () в OS X, вам придется свернуть свой собственный, пока он не станет стандартом.

0 голосов
/ 06 июля 2015

В OSX попробуйте команду openssl из терминала.Вот пример синтаксиса ..

  • Пример 1:

    openssl passwd -1 -salt THE_SALT THE_PASSWORD $1$THE_SALT$dPJ6geFVt46feYgFzPgWE.

Флаг -1 используетПрефикс $ 1 $ (стандартный md5).Флаг -apr1 использует нотацию $ apr1 $ (алгоритм Apache).

  • Пример 2:

    openssl passwd -apr1 -salt THE_SALT THE_PASSWORD $apr1$THE_SALT$y28/ZvW2ge6QfRIZQpO82/

Для получения дополнительных параметров / справки введите openssl passwd --help

0 голосов
/ 09 августа 2010

Может быть, посмотрите на SSCrypto.framework (оболочку библиотеки OpenSSL, лицензированную BSD) или PolKit!

http://osx.hyperjeff.net/Apps/apps?f=openssl

Кроме того, вы можете получить libmd через MacPorts (информация о порте libmd).

И, наконец, что не менее важно, есть проект osxcrypt (который представляет собой модульный модуль ядра).

OSXCrypt Framework основан на парадигме реализации модульного модуля ядра, который можно использовать с другими шифрами. Например, реализовать dm-cryppt на mac теперь довольно просто.

...