我正在尝试从 php 应用程序对 restful_authentication 进行身份验证,但是我知道它使用 SHA1(摘要--salt--password--RESTFUL_AUTH_KEY)。问题是无论我尝试多少,我都无法让哈希匹配。通读文档,我看到摘要只是 restful auth 密钥,但这就是我感到困惑的地方。有没有其他人能够找到一种方法来匹配使用 ruby 之外的散列密码,如果是这样,如何?
问问题
94 次
1 回答
1
下面是一个使用 php 的例子:
<?php
$password = 'SomePassword';
$salt = 'saltHashFromDB';
$sitekey = 'siteKeyFromConfig';
function pwcrypt($password, $salt, $sitekey) {
$digest = $sitekey;
$i = 0;
while ($i < 10) {
$digest = sha1($digest.'--'.$salt.'--'.$password.'--'.$sitekey);
$i++;
}
return $digest;
}
echo pwcrypt($password,$salt,$sitekey);
?>
这是一个非常简单的示例,您应该能够基于此将其集成到您的应用程序中。我知道在 ruby 代码中有大约 4 或 5 个函数,它一个接一个地调用来做同样的事情,把它放在一个地方应该更容易理解。
如果您需要任何澄清,请告诉我。
谢谢,
C4colo
于 2009-10-13T16:31:03.320 回答