2

注意:我不是在寻找解决方法,我在寻找一个普通的红宝石解决方案!

这个问题与这个问题类似,但没有得到回答,它只是那里 shell 突击队的一种解决方法。

我想生成一个与 debian /etc/shadow 中的格式兼容的 sha512 加密字符串。

以下使用php创建正确的字符串:

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

据我所知,这是一个正常的、加盐的 base64 编码字符串。sha 生成方法的规范在这里

4

1 回答 1

4
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"

SHA256/512的crypt()算法不仅仅是一个 base64 编码的哈希。这是一个故意疯狂的过程,涉及并行运行的多个哈希。

于 2012-01-28T06:08:47.400 回答