Я хочу сгенерировать хешированные пароли SHA512 для включения непосредственно в файл / etc / shadow для использования с пользовательским ресурсом chef . Обычно для этого я обращаюсь к библиотеке stdlib Digest
, но она не генерирует хэш в правильном формате:
ruby-1.9.2-p136 :001 > require 'digest/sha2'
=> true
ruby-1.9.2-p136 :002 > Digest::SHA512.hexdigest('test')
=> "ee26b0dd4af7e749aa1a8ee3c10ae9923f618980772e473f8819a5d4940e0db27ac185f8a0e1d5f84f88bc887fd67b143732c304cc5fa9ad8e6f57f50028a8ff"
Формат, который требуется теневому файлу, следующий:
$6$/ShPQNXV$HJnibH9lw01qtYqyJQiBf81ggJB2BGUvKA7.kv39HGCeE.gD4C/SS9zAf5BrwOv3VJzvl99FpHYli9E8jykRC0
Вещи, которые я ' Мы рассмотрели:
Для сравнения , что-то, что действительно возвращает правильный формат, - это крипта PHP , но я бы предпочел не выполнять выполнение на PHP для чего-то, что должно быть простым.