有没有人有 Java 或 C 语言的 ANSI X9.19(又名 Retail MAC)计算代码的工作版本?我尝试了在 SO 上找到的所有内容,但似乎无法正确处理。我的输入是:
数据:
31303030313232303136303432353135333735383030303032363030303030343835383038343837323031353130323330303030303031303030303030303030303031
键:
B6E58778DFA2F0A58DF0C6D792734720
预期MAC:
a6a2c109........
最佳答案
Bouncy CaSTLe 提供程序包含 "DESISO9797MAC"
作为 Mac
的算法字符串。
结果:
a6a2c109be35bae7
请注意,服务的 toString
为:
BC: Mac.DESWITHISO9797 -> org.bouncycastle.jcajce.provider.symmetric.DES$DES9797Alg3
aliases: [DESISO9797MAC]
并且类名的最后一部分 DES9797Alg3
指向 ISO 9797 MAC algorithm 3 , 它在国际标准文件中指定了 RetailMAC。
诀窍主要是知道要寻找什么......
关于ANSI X9.19(零售 MAC)的 Java/C 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39187598/