bash.im ithappens.me zadolba.li
5349

MD5.1

2 февраля 2011, 11:00

Давным-давно, ещё во времена, когда второй «пентиум» был топовой моделью, разрабатывали мы софт для банка. Ввжно то, что там была база пользователей, пароли в которой хранились в виде MD5-хешей (простейшая версия, даже без «соли»). В те времена интернетом мы не были избалованы, и алгоритм вычисления MD5 переписывали из бумажной книги.

Шло время. Программа пережила семь реинкарнаций, и от нашего творчества остались только самые низкоуровневые библиотеки. База пользователей растолстела и перекочевала из обычного файлика в оракловскую базу данных.

Однажды кто-то из админов заметил, что с одного айпишника идут запросы от имени разных клиентов нашего интернет-банка, и все с нулевым успехом: пароли не подходят. «Непорядок», — подумал админ и вызвал службу безопасности. Служба безопасности обратилась куда надо, и в тот же день доблестные сотрудники правоохранительных органов накрыли троих киберковбоев, одним из которых был относительно недавно уволенный из нашего банка программист. Допрос показал, что обиженный на руководство «несправедливо уволенный» умудрился утащить ту самую базу клиентов, где словариком, а где и брутфорсом подобрал пароли и уже потирал руки в предвкушении наживы. К его (а также его двоих подельников) немалому удивлению, пароли не подходили. Откуда было знать бедняге, что тогда, во времена царствования вторых «пней», я и мой напарник, переписывая алгоритм из книжки, допустили опечатку, а потом, когда ошибку обнаружили, испугались признаваться начальству?