среда, 13 ноября 2013 г.

MD5Core старый баг...

Недавно на работе, работая над мобильным xmpp клиентом, столкнулся с такой забавной вещью при авторизации, никак не получалось авторизоваться на рабочем сервере, с корректными данными, используя md5. Unit tests с тестовыми данными проходят, путем долго дебага и сравнивания нашли проблему в либе MD5Core.
Оказывается - эта либа считает неправильно хеш, если длина равна 56, 120, 184, 248 и тд…
На это наткнулся после 2 лет успешного использования, мда, жизнь меня к такому не готовила…
Ошибка оказывается это известная от 5 июль 2011…
Лечиться путем изменения
if (cbSize <= 56) на  if (cbSize < 56)
Забавно до слез!

Комментариев нет:

Отправить комментарий