Magnetic Track Parser磁道数据解析器
Magnetic Track Parser是一个Java库,可以解析银行发行的信用卡中的磁道数据,例如从USB磁卡条读取器返回的磁道数据。
Magnetic Track Parser取决于信用卡号库。
资源
该项目的目标是使用可免费获得的公开文档来创建可靠的Java库,以提供有关信用卡的信息。
参考的一些资源是:
- Wikipedia上的磁条卡,用于获取有关轨道数据格式的信息。
设计原则
- 所有类都是不可变且线程安全的
- 安全数据遵循 Java密码体系结构(JCA)参考指南中的标准
- 标准
toString()
功能以可读形式格式化数据 - 支持卡号国际化
- 有效性由JUnit 5测试强制执行
- 需要Java 8或更高版本
在项目中下载和使用
您可以在Maven中央存储库中下载jar。在下载页面 有关于如何在你的Maven或摇篮构建使用库指令。
例子
如何解析磁道数据
要解析磁迹,请使用如下代码:
BankCardMagneticTrack track =
BankCardMagneticTrack 。来自(“%B5350290149345177 ^ FATEHI / SUALEH ^ 16042010000000000000000000000000000000000567001000?; 5350290149345177 = 16042010000056700100?”);
系统。出来。println(track);
您将获得以下输出:
TRACK 1: %B5350290149345177^FATEHI/SUALEH^16042010000000000000000000000000000567001000?
Primary Account Number: 5350290149345177
Expiration Date: 2016-04
Name: Sualeh Fatehi
Service Code: 201
Discretionary Data: 0000000000000000000000000000567001000
TRACK 2: ;5350290149345177=16042010000056700100?
Primary Account Number: 5350290149345177
Expiration Date: 2016-04
Service Code: 201
Discretionary Data: 0000056700100
TRACK 3: Not Available.
Bank Card Information:
Raw Account Number: 5350290149345177
Primary Account Number: 5350290149345177
Major Industry Identifier: 5 - Banking and financial
Issuer Identification Number: 535029
Card Brand: MasterCard
Last Four Digits: 5177
Passes Luhn Check? Yes
Is Primary Account Number Valid? Yes
Expiration Date: 2016-04
Is Expired? Yes
Name: Sualeh Fatehi
Service Code:
2 - Interchange: International interchange. Technology: Integrated circuit card.
0 - Authorization Processing: Normal.
1 - Allowed Services: No restrictions. PIN Requirements: None.
谁使用
- Dmitry Holodov的出色Android应用程序SwipeYours使用 magnetictrackparser。请参阅SetCardActivity.java中的详细信息。这个Android应用程式可协助开发人员了解新的Android Host Card Emulation(Android主机模拟卡)付款功能,并采用与Magnetictrackparser相同的精神,以开放原始码编写。
评论