通过非 Ruby 应用程序验证 Resftul 身份验证

Posted

技术标签:

【中文标题】通过非 Ruby 应用程序验证 Resftul 身份验证【英文标题】:Verifying Resftul Authentication through a Non Ruby App 【发布时间】:2010-12-06 03:53:12 【问题描述】:

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于通过非 Ruby 应用程序验证 Resftul 身份验证的主要内容,如果未能解决你的问题,请参考以下文章

Dora.Interception, 为.NET Core度身打造的AOP框架[4]:演示几个典型应用

如何使用 SockJs 通过 STOMP Java 客户端验证 Spring 非 Web Websocket?

Javascript/Ajax NTLM 身份验证

Oauth2 身份验证失败

科技猫 | 与 RailsGirls 一起来「玩」Ruby

适用于 Ruby 的 PayPal REST SDK - 非全局配置