基于弹跳城堡的GOST 3411算法
我使用GOST算法来创建基于键的散列和使用弹跳城堡库的输入。下面的代码生成的散列与通过http://beautifytools.com/hmac-generator.php
等在线工具生成的散列不匹配 HMac gMac= new HMac(new GOST3411Digest());
byte[] key = "keyphrase".getBytes();
byte[] input = "macinput".getBytes();
gMac.init(new KeyParameter(key));
gMac.update(input, 0, input.length);
byte[] mac = new byte[gMac.getMacSize()];
gMac.doFinal(mac, 0);
BigInteger in = new BigInteger(1, mac);
System.out.println(in.toString(16));
正常时,需要在MuleSoft内部调用API,对Hash进行验证并进行身份验证。基本上,加密用于生成身份验证令牌。
很长时间以来一直在提及堆栈溢出,但从未有机会发布任何问题。这是我的第一次:)
谢谢, 苏迪普
解决方案
GOST3411算法有几个Sbox选项,因此尝试在初始化时使用不同的选项。我在"D-测试"Sbox上有一些运气,它与大多数在线工具匹配,如果不是全部的话。您可以按如下方式初始化不同的SBox:
HMac mac = new HMac(new GOST3411Digest(GOST28147Engine.getSBox("D-Test")));
相关文章