私は、Android Zebra TC51バーコードスキャナーで動作する仕事用のアプリケーションを開発しています。これをいじくり回してきました。)今朝、NYS運転免許証をスキャンして、出力を検査しました(消毒済み)出力は以下のとおりです。出力には、20行のデータと1行のメタデータが含まれています。標準化本体はAAMVAとANSIです。2行に興味があります([〜#〜] ansi [〜#〜]とラベルが付いている)および[〜#〜] znb [〜#〜])。
ライセンスをスキャンしたところ、ANSIラベル付きの行に636001010102DL00910228ZN02790040DLDCADJ
に似た値の文字列が関連付けられていました(これはサニタイズされています。詳細は以下で説明します)。ググると、NYS Drivers Licenseデータダンプを含む大ざっぱなPastebin結果が返されましたが、どれもありませんでした。一致する他の情報(名前、ドブなど)そこで、さらに10枚のNYS IDカード(友人や家族)をスキャンし、結果をグーグルで調べました。それらのためのグーグルのヒットなし。
私は2つのことを理解しようとしています
636001010102DL00910228ZN02790040DLDCADJ
)、それは何のために使用され、何に通信します。具体的には、この値の文字列が一意であることを意図している場合。私は大まかな調査を行い、以下の資料を読みました。
「バーコード」がPDF417データマトリックスであることを知っています。ほとんどのキーと値のペアを知っています(ラベルを付けました)。
[〜#〜] znb [〜#〜]はハッシュまたは署名のように見えます(AWS SQS残りの呼び出しに signする必要があることを思い出させます 。すべて実行しました[〜#〜] znb [〜#〜]の前のデータ。次のハッシュを介して、正常に見えるがヒットしないものがあるかどうかを確認します(ハッシュであるかどうかさえわかりません)。
残念ながら、これらの[〜#〜] ansi [〜#〜]および[〜#〜] znb [〜#〜]値に関する情報は見つかりません。他のすべてのキー/値ペアは明確に定義されています AAMVA DL/ID Card Design Standard で、これら2つを除きます。
他の数字と数字を入れ替えてANSI評価者をサニタイズしましたが、値の文字列またはアルファ文字のカーディナリティは変更しませんでした(GitHubソースは最初の[〜#〜] dl [〜 #〜]が重要でした)別のソース状態も重要な値だったため、最初の6桁を残しました。
[〜#〜] znb [〜#〜]の英数字を他の英数字と入れ替えることでサニタイズしました。重要な場合に備えて、アルファベットの大文字と小文字は変更しませんでした。変更しませんでした。文字列のカーディナリティまたは特殊文字。
@
ANSI 636001010102DL00910228ZN02790040DLDCADJ (???)
DCB (????)
DCD (organ donor?)
DBA (date of birth)
DCS (Last name)
DCT (first name, possibly with middle initial)
DBD (date issued
DBB (date expired)
DBC (0 or 1 for male for female)
DAY (eye color abbreviated)
DAU (height in footinches)
DAG (address line)
DAI (city)
DAJ (state)
DAK (Zip)
DAQ (license number)
DCF (document number)
DCG (country)
ZNZNA(last name)@(first name)@(middle initial)
ZNB Eg3*#c+W^xmj(Ws8@B?]plW_Db;uk&y*V/d9"1=qG
奇妙なことに、おそらく10個のライセンスをスキャンして、ANSI文字列値をグーグル検索しました。 私の以外は何も思い付きませんでした。これに関するどんな助けや援助も大歓迎です
これは本当に基本的なものであり、AAMVA DL/IDカード設計標準で対処されています。あなたはAAMVAのウェブサイトでそれを見つけることができます。パーサーは、PHP)で作成しました。
ANSIで始まるすべてのデータは、目次のようなものです。これは、IIN(政府機関ID#)、AAMVAバージョン、このレコード内のサブレコードの数を示しています。各サブの開始位置と長さ-record ..そしておそらく私が忘れている他のいくつかのもの。 「目次」は、最初のサブレコードの位置に到達すると終了します。
DACのような一部のタグは、このレコードがどのバージョンのAAMVAであるかに基づいて使用されます。 AAMVAのバージョン番号を読むことが重要です。それに基づいて、AAMVAの特定のバージョンで使用/定義されたタグを探します。ほとんどのタグはすべてのバージョンで同じです。ただし、名や姓などの一部のタグは、長年にわたって変更されています。
ZNサブレコードは、発行機関に所有権があります。NYSは、ZNAとは何かを公開しています。 ZNBは謎です。おそらくDL#のハッシュ、名前、生年月日などです...