智能卡ATR和选择文件命令 - java

我刚刚开始学习一些智能卡,并且正在使用pyscard进行练习。

所以我有两个问题(我正在使用签证预付卡):

1)我在互联网上看到有人说,有一种方法可以通过他的ATR来知道您的卡可以使用的选择方法。
您如何确定呢?
有人可以给我举个例子吗?

2)我尝试使用很多在互联网上看到的技术来选择签证卡的MF。我借助MF名称和许多其他名称进行了尝试,但没有得到="90 00"的结果。有人可以帮帮我吗。

如果您还可以带来一个好的指导,请向我学习!

参考方案

1)您可以使用此站点解码您的ATR:https://smartcard-atr.appspot.com/。在类别指示符字节(0x80)下,您将看到如何选择应用程序。

2)您的卡可能具有与其他卡不同的签证AID。最常用的AID是A0000000031010,这是签证借记或贷记。

有两种方法可以检查您的卡支持哪些AID。

a)如果您不知道卡的AID,则可以尝试发送支付系统环境(PSE)AID。如果卡支持PSE,它将发送回支持的AID列表。在此处检查如何发送选择的PSE:https://www.openscdp.org/scripts/tutorial/emv/applicationselection.html

还要在PSE上检查以下问题:How to Read EMV based smart VISA card details

b)尝试发送所有可能的VISA的AID。检查此网站以获取其他签证帮助:http://emvfunctionalflow.blogspot.com/2018/05/visa-inc.html

Java:正则表达式模式匹配器是否有大小限制? - java

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

Java:找到特定字符并获取子字符串 - java

我有一个字符串4.9.14_05_29_16_21,我只需要获取4.9。数字各不相同,所以我不能简单地获得此char数组的前三个元素。我必须找到最正确的.并将其子字符串化直到那里。我来自Python,因此我将展示Python的实现方法。def foobar(some_string): location = some_string.rfind('.&…

Java:线程池如何将线程映射到可运行对象 - java

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

Java:我可以在Hashmaps中使用数组吗? - java

我可以在Hashmaps中使用数组吗?如果是这样,则声明这种哈希图的确切语法是什么?谢谢 参考方案 数组也是对象。甚至像int[]这样的原始数组。Map<String,String[]> map = new HashMap<String,String[]>();

JAVA:字节码和二进制有什么区别? - java

java字节代码(已编译的语言,也称为目标代码)与机器代码(当前计算机的本机代码)之间有什么区别?我读过一些书,他们将字节码称为二进制指令,但我不知道为什么。 参考方案 字节码是独立于平台的,在Windows中运行的编译器编译的字节码仍将在linux / unix / mac中运行。机器代码是特定于平台的,如果在Windows x86中编译,则它将仅在Win…