1

我正在尝试从 php 应用程序对 restful_authentication 进行身份验证,但是我知道它使用 SHA1(摘要--salt--password--RESTFUL_AUTH_KEY)。问题是无论我尝试多少,我都无法让哈希匹配。通读文档,我看到摘要只是 restful auth 密钥,但这就是我感到困惑的地方。有没有其他人能够找到一种方法来匹配使用 ruby​​ 之外的散列密码,如果是这样,如何?

4

1 回答 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 回答