寻找一种使用ISO 9797-1算法3(零售MAC)计算MAC的方法



浏览Java加密体系结构和代码示例,我已经学会了如何使用Mac类计算Mac:

Mac mac = Mac.getInstance("HmacMD5");
mac.init(<secretKeyHere>);
byte[] macHash = mac.doFinal(<encryptedTextHere>); 

但我实际上正在寻找一种使用ISO 9797-1算法3(零售MAC)计算MAC的方法。

有人可以在Java中建议我一个代码示例?

它在任何甲骨文提供商中都不可用,但是,如果添加了Bouncycastle提供商,那么Mac算法将可用,例如。

Security.addProvider(new BouncyCastleProvider()); 
Mac mac = Mac.getInstance("ISO9797ALG3MAC");

注意:Mac算法已经过时了数十年。

我相信您想查看javacard.security.Signature.getInstance(Signature.ALG_DES_MAC4_ISO9797_1_M2_ALG3),然后使用init()update()sign()方法来生成该特定签名。

最新更新