Как преобразовать функцию php crypt (SHA512) в ruby? - PullRequest
1 голос
/ 28 января 2012

примечание: я не ищу обходного пути, я ищу простое решение по рубину!

этот вопрос похож на этот вопрос , но оннет ответа, это просто обходной путь для коммандос оболочки.

Я хочу создать зашифрованную строку sha512, которая совместима с форматом в debian /etc/shadow.

, следующийсоздайте правильную строку с php :

$salt = 'fGn9LR75';
$hash = crypt('test', '$6$'.$salt);
// hash is:
// $6$fGn9LR75$YpI/vJHjEhvrYp5/eUSRinpiXdMthCxFWSEo0ktFNUaRBsA7pCWYzzmQptmnfyHno9YEJFNHYuESj3nAQmSzc1

, насколько я знаю, это нормальная, посоленная строка в кодировке base64.спецификация метода генерации ша здесь

1 Ответ

2 голосов
/ 28 января 2012
irb(main):001:0> salt = 'fGn9LR75';
irb(main):002:0* hash = 'test'.crypt('$6$' + salt);
irb(main):003:0* hash
=> "$6$fGn9LR75$YpI/vJHjEhvrYp5/eUSRinpiXdMthCxFWSEo0ktFNUaRBsA7pCWYzzmQptmnfyHno9YEJFNHYuESj3nAQmSzc1"

Алгоритм crypt() для SHA256 / 512 - это , а не , просто хэш в кодировке base64. Это намеренно сумасшедший процесс, который включает в себя несколько хешей, работающих параллельно.

...