Я реализую digest-md5 в J2ME. При вычислении ответа клиента выполняются следующие шаги:
- Создайте строку в форме «имя пользователя: realm: пароль». Назовите эту строку X.
- Вычислить 16-октетный MD5-хэш X. Назовите результат Y.
- Создайте строку вида «Y: nonce: cnonce: authzid». Назовите эту строку A1.
- Создайте строку вида «AUTHENTICATE: digest-uri». Назовите эту строку A2.
- Вычислить 32-значный шестнадцатеричный MD5 хэш A1. Назовите результат HA1.
- Вычислить 32-значный шестнадцатеричный MD5 хэш A2. Назовите результат HA2.
- Создайте строку вида «HA1: nonce: nc: cnonce: qop: HA2». Назовите эту строку KD.
- Вычислить 32-значный шестнадцатеричный MD5 хэш KD Назовите результат Z.
Кто-нибудь здесь знает, как реализовать шаг 2? У меня есть функция md5, которая возвращает 32 шестнадцатеричное число, но я не знаю, как вычислить 16-октетный хэш md5?
Я просто хотел бы повторить, что я использую J2ME. В этом случае я не могу просто использовать MessageDigest.
Заранее спасибо. :)