gpt4 book ai didi

contactless-smartcard - EMV非接触式轨迹数据中的CVC3、ATC和不可预知的数字如何替代?

转载 作者:行者123 更新时间:2023-12-01 23:23:22 30 4
gpt4 key购买 nike

我正在尝试在给定 CVC3 和一堆位置参数的情况下组装正确的轨道数据。但是 EMV C-2 内核这本书和你想象的一样迟钝(包括一个例子会杀人吗!?!)。谁能帮助解决这个例子:

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)转换为BCD编码的相应的数字以 10 表示。复制 q 个最低有效数字BCD编码的CVC3(Track2)在'Discretionary Data'中符合条件的位置轨道 2 数据。符合条件的位置由中的 q 个非零位表示PCVC3(Track2).

我读作:CVC3 = 0x609B = 24731(所以复制 731?BCD 与此有什么关系?或者他们只是说“将 731 作为 bcd 编码复制到字节数组”?)

最佳答案

是的,你是对的,它相当迟钝。您将 p 值(pCVC3 和 PUNATC)转换为二进制是正确的。 (0011 1000、0011 1100 0110 用于您的 track1 p 值)然后您将适当的值与任意数据右对齐。例子

Bxxxxxxxxxxxxxxxx^ /^14111014010000000000
....000000000000000000CCC000
....00000000000000AAAA000UU0

所以你说轨道 1 的 CVC3 是 609B,即 24,731,因为你的 PCVC3 只要求设置 731 的 3 个字符。你的 ATC 是 1E47,即 7,751。你的 PUNATC 要求 4 位数字,所以你会使用 7751。仅供引用......如果 ATC 低于你用 0 填充的请求字符。你的不可预测的数字更加棘手......所以你制作了一个 4 字节的随机数。将其转换为 uint(以 10 为底),然后将 8 个最高有效字节标记为 0。示例。假设您的随机 4 个字节是 29A6 06AE。以 10 为基数是 698,746,542。用 0. 标记前 8 个字符,剩下 000,000,002。你会把 02 放在你不可预知的数字位置..所以..所有这些都说你的轨道看起来像这样

Bxxxxxxxxxxxxxxxx^ /^14111014017751731020

最后一个字符等于不可预测的数字(数字)数字的长度。这是 02.. 所以最后一位是 2 制作你的最终轨道数据

%Bxxxxxxxxxxxxxxxx^ /^1411014017751731022;

轨道 2 非常相似。祝你好运。我理解你对此的不满。 :)

关于contactless-smartcard - EMV非接触式轨迹数据中的CVC3、ATC和不可预知的数字如何替代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25986126/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com