ICカードの製造番号 (FeliCa・IDm/MIFARE・UID)

2007年12月19日 21:27
  • 神楽坂ショールーム
  • 資料請求・お問い合わせ
  • 概算見積もり

先日、MIFAREという種類のICカードのUID(製造番号のようなもの)について、どうしても話がかみ合わないことがありました。

色々確認していくと、結局、「同じ情報を違う形で見ていた」という結論だったという話です。

あるお客さんで、バイバイ タイムカードをICカード打刻で利用してもらうことになりました。

そこで、このお客さんがICカードを購入した会社の人に、提供済みのICカードのUIDリストの提供をお願いしたところ、「cc33bb22aa11」(※)といったようなコードが連絡されました。

でも、期待していたのは「19422424806348」(※)といったようなコードだったので、「あの・・・、お送り頂いたのどのようなコードでしょうか?UIDを頂きたいのですが・・・」という連絡をしたところ、「え、UIDを送ったじゃないですか」という話に。

???となり、よくよく数字を見てみると・・・

「19422424806348」を16進数にして、2桁ずつ後から並べ替えると「cc33bb22aa11」になることが分かりました。

-----

19422424806348

→<16進数化>→11aa22bb33cc

→<2桁ずつ後から並替>→cc33bb22aa11

-----

そこでネオレックスの技術者に確認してみると、UIDはICカードの中ではバイナリ情報(コンピュータが直接理解出来る文字ではない形の情報)として保存されているもので、バイバイ タイムカードではこれを10進数の形にして取り出しているとのこと。

さらにその取り出し方は下の方の桁から順番に読んでいく「リトルエンディアン」という方式を取っていることが分かりました。

これに対してカード提供の会社は、UIDを16進数で、上の方の桁から順番に読んでいく「ビッグエンディアン」という方式を取っているようだということだったのです。

これってつまり・・・

A: 「あ、りんごだ!」

B: 「違うよ、Appleだよ」

A: 「なに言ってんだ、りんごだろう!」

B: 「いやだからAppleだって」

こういうことだったんですよね・・・


僕はてっきりUIDは10進数の形でICカードの中に入っているものだと思っていました。

不勉強でちょっと手間取った一幕でした。


(※)実際のUIDとは桁数が異なります。

関連リンク: パソコン + Felica, パソコン + Mifare

  • バイバイ タイムカード日記

このページの先頭へ