Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.09.2015, 01:03
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

SCRAM-SHA-1 помогите имплементировать алгоритм на php
Всем привет, очень прошу помощи с имплементацией на пхп нужного кода, собственно вот семантическое описание задачи:

clientFinalMessageBare = "c=biws,r=" .. serverNonce
saltedPassword = PBKDF2-SHA-1(normalizedPassword, salt, i)
clientKey = HMAC-SHA-1(saltedPassword, "Client Key")
storedKey = SHA-1(clientKey)
authMessage = initialMessage .. "," .. serverFirstMessage .. "," .. clientFinalMessageBare
clientSignature = HMAC-SHA-1(storedKey, authMessage)
clientProof = clientKey XOR clientSignature
serverKey = HMAC-SHA-1(saltedPassword, "Server Key")
serverSignature = HMAC-SHA-1(serverKey, authMessage)
clientFinalMessage = clientFinalMessageBare .. ",p=" .. base64(clientProof)

Мой вариант, но не работает правильно:

$cfmb = 'c=biws,r='.$pr;
$saltpass = hash_pbkdf2('sha1', 'MyPass123', $ps, $pi);
$ckey = hash_hmac('sha1', $saltpass, 'Client Key');
$sckey = sha1($ckey);
$authmsg = $im1.','.$chal.','.$cfmb;
$csign = hash_hmac('sha1', $sckey, $authmsg);
$cproof = bin2hex(pack('H*',$ckey) ^ pack('H*',$csign));
$cfm = $cfmb.',p='.base64_encode($cproof);

Подскажите, что не так? Все переменные иницаилизированы правильными значениями само собой.

ЗЫ: Если есть кто хорошо разбирается в вопросе готов даже заплатить за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 23.09.2015, 13:28
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Вы надежный хеш пароля хотите получить?
Ответить с цитированием
  #3 (permalink)  
Старый 23.09.2015, 19:52
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Нет, я пишу XMPP-клиент, собственно у меня уже есть рабочий, который использует механизм plain, но теперь понадобилось использовать этот.
Вот статья, которой я руководствуюсь:
https://ru.wikipedia.org/wiki/SCRAM
Ответить с цитированием
  #4 (permalink)  
Старый 23.09.2015, 20:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Реализация этого на РНР уже есть в PEAR. Осталось гугл спросить, а у вас слишком просто. )
Ответить с цитированием
  #5 (permalink)  
Старый 23.09.2015, 21:34
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Еслиб все было так просто) Класса с поддержкой именно этой авторизации я найти не смог, если у вас получится - очень удивлюсь, но буду счастлив)
Ответить с цитированием
  #6 (permalink)  
Старый 24.09.2015, 00:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Да у меня собственно ни разу не возникало нужды в этом, потребности не было пока, просто шарахаясь по разным библиотекам, в частности PEAR, помню что встречал.

Что касается авторизации на сайте, так начиная с версии 5.5 появилось более удобное - Password Hashing, нежели ранее приходилось использовать.

PS. Спецом гугла потревожил, разве не это нужно?

Последний раз редактировалось laimas, 24.09.2015 в 00:13.
Ответить с цитированием
  #7 (permalink)  
Старый 24.09.2015, 01:29
Кандидат Javascript-наук
Отправить личное сообщение для iNfantry Посмотреть профиль Найти все сообщения от iNfantry
 
Регистрация: 29.10.2011
Сообщений: 132

Твоюж налево, оно еще и работает! Да, оно. Я гуглил SCRAM PHP, поискать напрямую в pear мозгов не хватило.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята помогите какая ошибка в скрипте php? xddanik Серверные языки и технологии 2 25.04.2015 21:44
Помогите!!!! страница чата на javascript без php staseward AJAX и COMET 2 13.04.2015 12:55
Помогите!!!! страница чата на javascript без php staseward Общие вопросы Javascript 1 12.04.2015 18:42
Помогите открыть http адрес с помощью php chippolino Серверные языки и технологии 1 13.11.2011 23:50