如何将php加密函数(SHA512)转换为ruby?

如何将php加密函数(SHA512)转换为ruby?,php,ruby,base64,sha512,Php,Ruby,Base64,Sha512,注意:我不是在寻找解决方法,我在寻找一个简单的ruby解决方案 这个问题与此类似,但没有回答,它只是一个炮弹突击队的变通办法 我想生成一个与debian/etc/shadow格式兼容的sha512加密字符串 使用以下命令可以创建正确的字符串: 据我所知,这是一个正常的,盐渍base64编码字符串。sha生成方法的规范是 SHA256/512的crypt()算法不仅仅是base64编码的哈希。这是一个故意疯狂的过程,涉及并行运行的多个哈希 SHA256/512的crypt()算法不仅仅是base6

注意:我不是在寻找解决方法,我在寻找一个简单的ruby解决方案

这个问题与此类似,但没有回答,它只是一个炮弹突击队的变通办法

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

使用以下命令可以创建正确的字符串:

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

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


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

看起来您的shift键已损坏。不,我只是喜欢用小写字母书写。看起来您的shift键已损坏。不,我只是喜欢用小写字母书写。
$salt = 'fGn9LR75';
$hash = crypt('test', '$6$'.$salt);
// hash is:
// $6$fGn9LR75$YpI/vJHjEhvrYp5/eUSRinpiXdMthCxFWSEo0ktFNUaRBsA7pCWYzzmQptmnfyHno9YEJFNHYuESj3nAQmSzc1
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"