2009-10-12 2 views
1

Я пытаюсь выполнить проверку подлинности с помощью restful_authentication из приложения php, однако я понимаю, что он использует SHA1 (дайджест - соль - пароль - RESTFUL_AUTH_KEY). Проблема заключается в том, насколько я стараюсь, я не могу получить хэш, чтобы соответствовать. Читая документацию, я вижу, что дайджест - это всего лишь успокоительный ключ авторизации, но я смущаюсь. Кто-нибудь еще смог найти способ сопоставить хэшированный пароль за пределами использования ruby, и если да, то как?Проверка аутентификации Resftul через приложение без 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