В современной разработке систем идентификации личности, мобильных приложений для путешествий и комплексов пограничного контроля критически важно иметь под рукой качественные и разнообразные тестовые данные. Библиотека mock-jutsu предлагает мощный инструментарий для автоматизации этого процесса, предоставляя специализированную функцию mrz_td3. Данная функция предназначена для генерации машиночитаемых зон (MRZ) заграничных паспортов, которые полностью соответствуют международным стандартам безопасности и протоколам обмена данными.
Функция mrz_td3 базируется на спецификациях ICAO 9303 (Часть 4), определяющих структуру формата TD3. Генерируемый результат представляет собой две строки по 44 символа каждая, которые содержат в себе зашифрованную информацию о владельце документа. В эти данные входят тип документа, код страны, номер паспорта, дата рождения в формате YYMMDD, пол, срок действия и персональный номер. Ключевой особенностью алгоритма в mock-jutsu является строгий расчет контрольных сумм. Функция автоматически вычисляет проверочные цифры для каждого информационного блока и итоговую композитную контрольную цифру, что делает генерируемые мок-данные валидными для любых стандартных парсеров и сканеров MRZ.
Использование mrz_td3 значительно упрощает жизнь инженерам по качеству и разработчикам OCR-систем. Эти тестовые данные позволяют имитировать бесконечное количество уникальных сценариев без необходимости использования реальных персональных данных, что критически важно для соблюдения политик конфиденциальности и GDPR. С помощью функции можно проверять корректность работы алгоритмов распознавания текста, тестировать логику валидации дат и проверять устойчивость систем к различным наборам символов-заполнителей. Гибкость библиотеки mock-jutsu позволяет интегрировать генерацию данных в любой рабочий процесс: через командную строку (CLI) для быстрой проверки, через Python-скрипты для сложной автоматизации или напрямую в JMeter для проведения нагрузочного тестирования высоконагруженных систем документооборота.
Главное преимущество mrz_td3 заключается в сочетании простоты использования и технической точности. Разработчику не требуется глубоко погружаться в документацию ICAO, чтобы составить валидную структуру вручную — библиотека берет на себя всю математическую сложность формирования строк. В результате вы получаете готовый объект, содержащий тип MRZ и массив строк, которые выглядят и верифицируются точно так же, как данные в настоящем заграничном паспорте. Такой подход существенно ускоряет цикл разработки и повышает общую надежность программных продуктов, работающих с машиночитаемыми документами.
mockjutsu generate mrz_td3mockjutsu bulk mrz_td3 --count 10mockjutsu export mrz_td3 --count 10 --format jsonmockjutsu export mrz_td3 --count 10 --format csvmockjutsu export mrz_td3 --count 10 --format sql# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate mrz_td3 --maskmockjutsu bulk mrz_td3 --count 5 --maskfrom mockjutsu import jutsujutsu.generate('mrz_td3')jutsu.bulk('mrz_td3', count=10)jutsu.template(['mrz_td3'], count=5)# mask=True: regulation-compliant outputjutsu.generate('mrz_td3', mask=True)jutsu.bulk('mrz_td3', count=5, mask=True)${__mockjutsu_mrz(mrz_td3)}# JMeter Function: __mockjutsu_mrz# Parameter 1: mrz_td3# Parameter 2: (not required for this function)# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_mrz(mrz_td3,mask)}GET /generate/mrz_td3# → {"type":"mrz_td3","result":"...","status":"ok"}GET /bulk/mrz_td3?count=10POST /template {"types":["mrz_td3"],"count":1}# mask=true: regulation-compliant outputGET /generate/mrz_td3?mask=trueGET /bulk/mrz_td3?count=5&mask=true| Параметр | Значения | Описание |
|---|---|---|
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |