我正在尝试手动生成 AC,我有一个生成 AC 的工具,但我想自己生成它以了解相同的算法。
我的计算对于 Discover 卡来说很好,但对于万事达卡来说却失败了。据我了解,用于生成 AC 的数据取决于标签 8C - CDOL1,我们使用 Gen AC 命令 + AIP + ATC 提供给卡。
AIP 和 ATC - 由 ICC 内部访问。
用于生成交流电的数据是:-
data part of Gen AC command + value of tag 82 + value of tag 9f36 + 80 + optional 00 to make it multiple of 8.
这是我的逻辑,可能是我使用错误的数据来计算 AC,这就是为什么我的测试工具得到不同的结果。
终端提供的数据
数量,授权 - 000000000201
金额,其他 - 000000000000
终端国家代码 - 0826 - 英国
终端验证结果 - 00 00 00 00 00
交易货币代码 - 0826 - 英镑
交易日期 - 15 04 28
交易类型 - 00 - 货物和服务
不可预测的数量 - 30 90 1B 6A
终端类型 - 23 - 有人值守,仅离线。由商户
数据验证码操作 - 00 00
ICC 动态编号 - 1E AB C1 26 F8 54 99 76
CVM 结果 - 00 00 00
Gen AC 使用 CDOL1 80 AE 40 00 2B 00000000020100000000000000826000000000008261504280030901B6A2300001EABC126F8549976000000 此命令返回 9F26。我用于计算的数据是:-
0000000002010000000000000826000000000008261504280030901B6A2300001EABC126F8549976000000 3800000180 [数据是 8 的倍数]
其中 3800 是 AIP 0001 是 ATC 和 80 用于填充 [填充方法 2 EMV] 这是我的逻辑,有没有人告诉我应该更多地关注哪里来生成与我的工具生成的相同的 AC。