ANSI X9.19(零售 MAC)的 Java/C 实现

标签 java cryptography

有没有人有 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/

相关文章:

encoding - 在 python 和 javascript 中生成 SHA256 哈希导致不同的结果

postgresql - Postgres : How to convert 16 bytes into 4 bytes by XOR-ing every 4 bytes

python - Node.js 中等效的 HMAC SHA-512 哈希函数

java - 如何将构造函数从父类(super class)继承到子类

java - 如何检查 keystore 中是否存在证书

java - 如何在 CDI 注入(inject)的字段中从父类(super class)转换为派生类?

java - 根据rfc2202在java中实现hmac-sha1

encryption - 当我有 IV、纯文本和加密文本时获取 AES CBC key

Java索引越界错误

java - Java中的注解处理是什么?