【发布时间】:2012-04-03 14:06:46
【问题描述】:
我说的是这个:
$ openssl passwd -1 -salt thesalt thepassword
$1$thesalt$HAWpBmvUCutuyTS4JwevI.
在 PHP 中它看起来像这样:
crypt('thepassword', ('$1$'.'thesalt')); # this gives the same output as above
我正在尝试在 Ruby 1.9 中实现相同的格式。有人告诉我 Ruby 的 String#crypt 会这样做,但事实并非如此。我到处寻找答案,但我一无所获。
如果有任何帮助,我会尝试在 Windows XP 上执行此操作。 Ruby 版本:ruby 1.9.3p0 (2011-10-30) [i386-mingw32]
只是为了避免 cmets 告诉我使用 MD5 或其他任何东西以外的东西,如果可以的话,我会的。这个选择不取决于我。
谢谢。
编辑:我想在不使用 openssl 的情况下执行此操作,因为这对于我的需要来说太慢了。
【问题讨论】:
-
如果有人感兴趣,我确实找到了一个名为 Crypt3 的 Ruby gem,它可以满足我的需求,但不幸的是它太慢了。我已经对其进行了一些优化,但这并没有太大帮助。我可能会用 C 重写它,看看能得到什么。
-
如果你打算用它来做密码认证,慢可能正是你想要的。越快越容易暴力破解。
-
计算速度很慢,是的。执行速度不慢。无论如何,这不是我使用它的目的。不过还是谢谢你的回复。
标签: ruby openssl md5 salt crypt