— А что тут говорить… Я и сам пока стопроцентно не уверен, но… Вы можете дописать программу так, чтобы она брала для каждой группы карт не по одному, а по два набора значений из этого файла? И еще полезно будет в конце строки на выходе проставить единицу, если совпадет хоть одна из входящих групп данных.
— Ну хорошо, сейчас подправлю, это недолго. Структура данных там во входящем файла какая?
— Да такая же, только за первой группой значений в строке идет вторая. И про единичку в конце строки при совпадении не забудьте, а если не совпадет, так поставьте ноль.
— Сейчас сделаю.
Через четверть часа свет уже привычно слегка притух, когда суперкомпьютер стал разгоняться во весь опор. За прошедшее с момента его запуска время он таки упал на пару позиций вниз в TOP-500, технический прогресс в мире совсем не дремал. Но вычислительной мощности Семену хватало с головой, хотя на сей раз задача и будет вдвое посложнее — надо же будет с двумя группами данных оперировать… Прошло около двух часов и на экране побежали строки, которые дублировались в исходящий файл. После того, как все сработало, Семен нетерпеливо импортировал файл в OpenOffice, посмотрел для проверки общее количество строк, затем включил фильтр по нулю в последней колонке. Пустота на экране была совершенно красноречивой. Отрубив фильтр, Семен стал проматывать таблицу вниз кнопкой PgDn. В конце каждой строки беспощадно значилась единица, иные значения, которые могли попасть в итоговые данные по очень маловероятной ошибке, отсутствовали. Эх, Семен, Семен, старый ты дурень, вот он в последней колонке кол тебе по математике, да еще и десять с небольшим тыщ раз! Немудрено, что Серега усмехался! Кстати, о Сереге! Он-то к Маше ушел, не стал дожидаться результатов. Семен рванулся к телевизору и увидел молчаливо сидящую спинами к нему пару, как всегда, устроившуюся, тесно прижавшись боками друг к другу.
— Серега, иди давай ко мне и расскажи, как это у тебя получилось!
— Иду!
Семен успел краем глаза поймать восхищенный взгляд Маши, направленный на парня. Да, вообще-то, восхищаться явно есть чем! А ты-то сам, совсем дубина и дурень старый! Хорош, нечего сказать!!! Второй раз тебя уделывает человек, более, чем вдвое моложе…
— Давай-ка, Серега, рассказывай, как же это тебе так удалось преловко данные подготовить!
— А Вы на них сами-то гляньте…
Семен присмотрелся к тому, что было в строках подготовленного парнем исходного файла. Там действительно повторялись и номера карт и подстрока с CVV на полосе, СТОП! Срок действия был во второй колонке записан наоборот — если в первой колонке исходных данных значился месяц-год, то во второй — год-месяц, и наоборот. Черт возьми!!!
— Как ты додумался!?
— Да очень просто. Карту свою в руках повертел, посмотрел на срок действия, гляжу, а на многих магнитных полосах все даты наоборот стоят. Решил это дело переставить и посмотреть, что получится. Оно ж там в книге не стандартизировано.
— И точно…
— Смотрю, у Вас все единички стоят! Стало быть, все сходится, не зря 25 лет работали!
Семен только сейчас понял, что именно произошло! И ведь у него же стопроцентно все сошлось, алгоритм действительно верный! Теперь уж точно никаких сомнений быть не может! Он сел на стул, дыхание у него стало прерывистым, на лице появилась блаженная улыбка… Семен пришел в себя от подтащенной Серегой водки с закуской.
— Ну, как и в прошлый раз, это не повредит. Повод, правда, намного более приятный.
— Э нет, погоди, себе не лей! Давай-ка чуток попозже Машу позовем, а то она еще на тебя за выпивку обидится!
— И то верно! Учитывая ее папашу со специфическими привычками, это очень даже правильно! Спасибо, Семен Васильевич!
— Уж тебе-то тыщу раз спасибо, а то я бы над всем этим думал, ох, как долго. Давай-ка, Серега, присоветуй мне еще что… Тут практический совет нужен, ты, я вижу, в практике соображаешь намного лучше меня.
— Какой именно совет?
— Надо бы нагенерить этих самых номеров карт с CVV2. Какие подводные камни видишь?
— Ну, зная полученные Вами ключи шифрования, нагенерить много чего можно. Однако… я бы это делал так. Нашел бы несколько карт одного банка и типа с одинаковым сроком действия. Один номер, очевидно, будет больше, один — меньше. Как раз между ними сгенерил бы номеров карт, так, чтобы они точно в этот самый интервал попадали. Алгоритм расчета номера в книге вон есть. А дальше, если знать правильный ключ шифрования — дело техники. Только, Семен Васильевич, важные моменты есть!
— Говори!
— Не надо использовать те номера, которые у Вас были. Я так понял, что полтинник Вы мне за реализацию этой идеи переслали? Спасибо!
— Ну, мне еще кое-чего перепало — усмехнулся Семен.
— Вот то-то и оно, что эти номера карт, от которых перепало, уже засветились и наверняка заблокированы. Толку от них — по нулям, поэтому их выкинуть надо. По ходу, при расчете надо учитывать, как они дату используют — год-месяц или месяц-год. И еще…
— Правильно ты, Серега, мыслишь, молодцом! Чего сказать-то хотел? Что-то ты резко оборвался
Анна Михайловна Бобылева , Кэтрин Ласки , Лорен Оливер , Мэлэши Уайтэйкер , Поль-Лу Сулитцер , Поль-Лу Сулицер
Любовное фэнтези, любовно-фантастические романы / Приключения в современном мире / Проза / Современная русская и зарубежная проза / Самиздат, сетевая литература / Фэнтези / Современная проза