【问题标题】:How to convert php crypt function (SHA512) to ruby?如何将 php crypt 函数(SHA512)转换为 ruby​​?
【发布时间】:2012-01-28 04:54:16
【问题描述】:

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

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

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

下面用php创建一个正确的字符串:

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

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

【问题讨论】:

  • 你的 shift 键好像坏了。
  • 不,我只是喜欢用小写。

标签: php ruby base64 sha512


【解决方案1】:
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 编码哈希。这是一个故意疯狂的过程,涉及并行运行的多个哈希。

【讨论】:

    猜你喜欢
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多