2014-08-01 8 views
3

Я использую OSX 10.9 (последняя версия) с последним Xcode. Когда я выполнить следующую команду:crypt не работает в osx, возвращает неправильное значение

python -c 'import crypt; print crypt.crypt("test", "$6$random_salt")' 

я получаю это как ответ:

$6asQOJRqB1i2 

, но если я выполняю то же самое в DEBiAN машину (ту же версию Python) Я получаю следующее:

$6$random_salt$sJ0ZOQCUESBs9rYCOLCqGV93zg1cSDgZV/FF6ZBzpnvNUVODwaaVoPV2SiL0ur7Sexh02hMmXdSBOa216GWoh. 

Что не так с моей машиной?

ответ

1

Проблема, похоже, в реализации склепа как комментарии @dukswuff. Если кто-то окажется в той же проблеме, есть альтернативное решение python, которое вы можете прочитать здесь: https://stackoverflow.com/a/17992126/2208811

2

Реализация crypt() на Mac OS X не поддерживает большинство «продвинутых» режимов, поддерживаемых Linux glibc crypt(). Он поддерживает только «традиционный crypt()», который вы получаете здесь, и «расширенный режим crypt()», который также несовместим с реализацией Linux.

Если вам необходимо создать надежные хэши паролей через Linux и Mac OS X, вам нужно будет использовать что-то другое, кроме crypt().