2011-02-10 1 views
0

im полностью потеряно на этом. У меня есть клиент, который попросил меня создать xml api для использования с приложением iphone на его веб-сайте. Разработчик приложения iphone отправляет значения auth с зашифрованным паролем SHA1.Сравнение хэш SHA1 для входа в систему Wordpress

Как я могу проверить правильность имени пользователя (обычного текста) и пароля (Sha1)?

Я читаю класс.phpass.php и plugable.php, но я не могу вычислить.

ответ

1

Это займет немного работы. Пароль WP хранится как соленый хеш MD5, который не может соответствовать SHA1, который вы отправляете. Кроме того, поскольку «cleartext» пароля не сохраняется, у вас нет возможности автоматически генерировать дополнительное значение SHA1.

Вот несколько предложений от верхней части моей головы о том, как атаковать эту проблему:

  1. Есть приложение подключиться с помощью HTTPS, а затем отправить открытый текст пароля. Это наиболее безопасно и требует наименьшей переработки кода WP, но это может быть не вариант, доступный для вас.
  2. Попросите приложение отправить пароль, зашифрованный симметричным cypher, причем приложение и WP знают секретный ключ. Управление секретным ключом в нескольких местах является рискованным. Вы в значительной степени должны предположить, что он в конце концов будет течь, а затем любая защита выходит из окна.
  3. Когда пользователь успешно входит в WP (или когда он создается, или когда он меняет свой пароль), создайте мета-значение пользователя, которое является SHA1 пароля. Затем он доступен для последующей проверки подлинности с помощью приложения.

В зависимости от специфики сайта элементы №2 и №3 не являются действительно надежными. # 2 просто ждет взлома, и если # 3 не происходит по зашифрованному соединению, он эффективно отправляет пароль cleartext (в форме SHA1) по сети.

Если вы не можете заставить разработчика приложения сделать # 1, то я предлагаю вам пойти с № 3 и надеяться, что никто не заинтересован в том, какую информацию он управляет.

+0

Спасибо за предложения Питер, я поговорю с iphone dev и дам вам знать – chifliiiii