首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在EMV非接触式跟踪数据中替代CVC3、ATC和不可预测的数字?

如何在EMV非接触式跟踪数据中替代CVC3、ATC和不可预测的数字?
EN

Stack Overflow用户
提问于 2014-09-23 02:53:55
回答 1查看 2.6K关注 0票数 3

我试图收集适当的轨道数据,给出一个CVC3和一组位置参数。但是EMVC-2内核书是关于你所能想象的最迟钝的(包括一个例子会杀人吗!!)有谁能帮上忙吗?

代码语言:javascript
复制
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

在成功的校验和生成之后:

代码语言:javascript
复制
9f61 - track2 CVC3 - 2EF4
9f60 - track1 CVC3 - 609B
9f36 - ATC - 1E47

假设任意数据字段从所有0开始,它是如何结束的?说明书上写着:

将二进制编码CVC3 (Track2)转换为以基数10表示的相应数字的BCD编码。将BCD编码的CVC3 (Track2)的q最小有效数字复制到轨道2数据中“任意数据”的合格位置。合格位置由PCVC3(Track2)中的Q非零位表示.

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-24 18:49:55

是的,你是对的,相当迟钝。您正确地将p值(pCVC3和PUNATC)转换为二进制值。(您的track1 p值为00111000,00111000110)然后您将正确地将适当的值与任意数据对齐。示例

代码语言:javascript
复制
Bxxxxxxxxxxxxxxxx^ /^14111014010000000000
             ....000000000000000000CCC000
             ....00000000000000AAAA000UU0

所以你说你的CVC3 1是609B,它是24, 731,因为你PCVC3只要求3个字符,你设置了731。你的ATC是1E47,也就是7,751。您的PUNATC要求4位数字,所以您可以使用7751。菲伊..。如果ATC低于要求的字符,你可以使用0。你无法预测的数字甚至更棘手.所以你做了一个4字节的随机数。将其转换为uint (基数为10),然后将8个最重要的字节标记为0。举例说明。假设你的随机4个字节是29A606AE。基数10为698 746 542。用0标记前8个字符。剩下的是十万,002。你会把02放在你无法预测的位置..。所以..。所有这些都说你的轨道会像这样

代码语言:javascript
复制
Bxxxxxxxxxxxxxxxx^ /^14111014017751731020

最后一个字符等于不可预测的数字(数字)数字的长度。当时是02..。最后一个数字是2,这是你最后的轨道数据。

代码语言:javascript
复制
%Bxxxxxxxxxxxxxxxx^ /^1411014017751731022;

track2非常类似。祝你好运。我理解你对这件事的不满。:)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25986126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档