是否有人在Java或C中拥有ANSI X9.19(也称零售MAC)计算代码的工作版本?我尝试了所有在SO上找到的,但似乎无法做到正确。我的意见是:
数据:
31303030313232303136303432353135333735383030303032363030303030343835383038343837323031353130323330303030303031303030303030303030303031
关键:
B6E58778DFA2F0A58DF0C6D792734720
预期MAC:
a6a2c109........
答案 0 :(得分:3)
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。
诀窍主要是知道要寻找什么......