有没有人知道如何解析从磁卡Swiper输入的信用卡串?
我尝试了一个JavaScript解析器,但从来没有工作。这就是输入的样子。
%BNNNNNNNNNNNNNNNN^DOE/JOHN ^1210201901000101000100061000000?;NNNNNNNNNNNNNNNN=12102019010106111001?
N是信用卡号码。
解决方法
见
Magnetic Stripe Card entry @ Wikipedia:
Track one,Format B:
- Start sentinel — one character (generally ‘%’)
- Format code=”B” — one character (alpha only)
- Primary account number (PAN) — up to 19 characters. Usually,but not
always,matches the credit card number
printed on the front of the card.- Field Separator — one character (generally ‘^’)
- Name — two to 26 characters
- Field Separator — one character (generally ‘^’)
- Expiration date — four characters in the form YYMM.
- Service code — three characters
- Discretionary data — may include Pin Verification Key Indicator (PVKI,
1 character),PIN Verification Value
(PVV,4 characters),Card Verification
Value or Card Verification Code (CVV
or CVK,3 characters)- End sentinel — one character (generally ‘?’)
- Longitudinal redundancy check (LRC) — one character (Most reader devices
do not return this value when the card
is swiped to the presentation layer,
and use it only to verify the input
internally to the reader.)
我希望数据是假的,否则任何人都可以得到:
>名称
>到期日
> CVV
我不知道,但我认为可以使用LRC计算信用卡号码(或可能性的数量)。