Авторизация  
Fake

Генерация MRZ кода

В теме 1 сообщение

Всем привет!

 

Сегодня будем учиться генерировать MRZ строку в паспорте.

Вся генерация будет проводиться на сайте http://www.highprogrammer.com/cgi-bin/uniqueid

 

Для примера возьмём страну AU(Австралию).

 

1658654cb4b7b44239af71eff73fbf63.jpg

 

Начало генерации проводим с анализа MRZ строки в паспорте всё тут же http://www.highprogrammer.com/cgi-bin/uniqueid

Для это переписываем наши 2 строки строго заглавными буквами и вставляем в соответствующие поля.

 

И жмём кнопку Submit

 

3ed2f96730a77278fab7c95e9f13f21c.jpg

 

Если при переписки MRZ кода вы не ошиблись, то на выходе получим расшифровку.

 

b77f8d9947ecafb74609ccc7569be1e6.jpg

 

 

Что мы видим Тип документа, подтип-документа, ФИО, Доб, Дата действия, Номер паспорта, Персональный номер, Национальность, и 5 степеней проверки.

Анализируем наши данные ФИО,ДОБ,Дата действия нам известны так сказать в народе :-)

Но откуда берется номер паспорта и персональный номер мы не знаем, зачастую номер паспорта просто рандомные числа.

Но персональный номер на моей практике имеет свой алгоритм генерации который зависит от пола,возраста и других параметров, можно почитать тут http://en.wikipedia.org/wiki/Nationa...ication_number

так же персональный номер ещё может называться CPR https://monopoly.ms/topic/246-polezn...-informatciya/ можете найти инфу тут.

В нашем моменте с Австралией нету не каких алгоритмов так что может работать рандомно только по шаблону оригинала, в данном случаи это Personal Number: 45275880M как мы видим межу двоеточием и четвёркой есть пробел, а в строке MRZ мы видим символ "<" который стоит перед нашей четверкой, значит нам нужно поставить этот знак перед генерацией дабы не нарушить заданный алгоритм,так же присутствуем буква M которая повторно обозначает пол, вот такая фишка в AU паспорте.

 

Также хочу отметить я дал скан с невалидным MRZ кодом специально, чтобы вы заметили что вовремя анализа на чеке нам выдало Final Check digit: Invalid (Is 0, should be 4), что означает в финальная цифра не верна должна быть 4 а не 0.

Финальные цифры стоят после каждого значимого участка это нижняя строка вот она мы её разберем M2414547<7AFG6006093M2003027<45275880M<<<<10

 

1. M2414547 - Это номер паспорта M241454 в конце ставиться цифра получаемая при генерации по алгоритму это (7).

2. 7AFG6006093 - Данная строка содержит национальность и дату рождения финальная цифра (3).

3. 2003027 - Дата окончания действия документа финальная цифра (7).

4. И финальный цифры генерации 10.

 

Чтобы не допустить таких ошибок делаем после каждой генерации, анализ MRZ.

 

Приступим к генерации, идём по ссылке http://www.highprogrammer.com/cgi-bin/uniqueid/mrzp

Распишу всё по пунктам.

 

1. Sub-type: Этот пункт встречается очень редко, пока видел только в Норвегии в паспорте, так что оставляем его пустым если при анализе он был пуст.

2. Given name(s): Имя

3. Surname(s): Фамилия

Date of birth: Дата рождения

5. Year: Год

6. Month: Месяц

7. Day: День

8. Sex: Пол

9. Issuer: Страна владельца документа.

Passport expiration: Дата окончания действия паспорта.

10. Year: Год

11. Month: Месяц

12. Day: День

13. Passport number: Номер паспорта

14. Personal number: Персональный номер

15. Nationality: Национальность

 

Ввели данные жмем Submit и на выходи получим Machine Readable Zone: которую используем по нашему назначению.

 

85144fc4c6cf6487ceab3c0dc2da493d.jpg

 

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

Чем смог, тем помог с вами был JOINT.

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация