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