Unix Crypt () Функция в SmallTalk / Pharo
Вопрос
Я хочу кодировать пароли для учетных записей Unix, используя крипта функция. Я использую Pharo 1.0. Я пытался установить Crypto Package из Squeakmap, но он дает мне ошибку, а пакет, кажется, частично установлен (категории без класса).
Как я могу заставить свой пароль закреплен? Я готов призвать внешний код, если требуется (и есть пакет в Squeakmap, который делает трюк в Pharo).
Спасибо.
Решение
Посмотрите, если у вас есть категория системных цифровых подписей на вашем изображении, с классом Securehashalgorithm. Затем вы можете выбрасывать свой пароль следующим образом:
(SecureHashAlgorithm new hashMessage: 'my password') asString
Другие советы
В Pharo Проверьте категорию: системное хеширование.
Там у вас есть MD5 и SHA.
Классы: SHA1, MD5NonPrimitive, MD5.
Эти классы были извлечены из Crypto Package из Squeaksource и заставляют их работать в Pharo. Тогда MD5 и SHA были интегрированы в ядро.
Ваше здоровье
В репозитории криптографии есть пакет PasswordHashingFFIFIFFIFFIFFIFFIFFI, который использует FFI для доступа к библиотеке Crypt (3) в Linux.
Это здесь:
http://www.squeaksource.com/cryptography.html.
Использование подобное
CryptLinuxFFI sha256:'1234'
Оспроцесс может быть использован для вызова любой внешней программы. Посмотри на http://book.pharo-project.org/book/pharotools/osprocess/