我正在尝试在给定 CVC3 和一堆位置参数的情况下组装正确的轨道数据。但是 EMV C-2 Kernel 的书和你想象的一样迟钝(包括一个例子会害死人吗!?!)。任何人都可以帮助处理这个例子:
9f62 - pcvc3(t1) - Position of CVC3 in track1: 0x38 (4-6?)
9f63 - punatc(t1) - Unpredictable Number Track1 Pos: 0x3C6 (2-3 7-10?)
9f64 - natc(t1) - Digits in track1 ATC: 4
9f65 - pcvc3(t2) - Position of CVC3 in track2: 0x38 (4-6)
9f66 - punatc(t2) - Unpredictable Number Track2 Pos: 0x3C6 (2-3 7-10?)
9f67 - Digits in track2 ATC: 4
成功生成校验和后:
9f61 - track2 CVC3 - 2EF4
9f60 - track1 CVC3 - 609B
9f36 - ATC - 1E47
假设任意数据字段以全 0 开始,它是如何结束的?规范是这样说的:
将二进制编码的 CVC3 (Track2) 转换为以 10 为基数表示的相应数字的 BCD 编码。将 BCD 编码的 CVC3 (Track2) 的 q 个最低有效位复制到 Track 2 数据中“任意数据”的合格位置。符合条件的位置由 PCVC3(Track2) 中的 q 个非零位指示。
我读为:CVC3 = 0x609B = 24731(所以复制731?BCD与此有什么关系?或者他们只是说“将731作为bcd编码复制到字节数组”?)