2017-07-31 184 views
0

使用GOST算法创建基于密钥和使用Bouncy城​​堡库的输入的哈希。下面的代码生成通过在线工具生成的哈希值不与一个相匹配,如http://beautifytools.com/hmac-generator.php使用Bouncy Castle的GOST 3411算法

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,验证哈希并给出验证。基本上,Encyption是用于生成身份验证令牌的。

已经提到了很长一段时间的计算器,但从来没有机会发布任何问题。这是我第一次:)

感谢, 萨迪普

+0

你期望什么? –

回答

0

GOST3411算法有几个S盒的选项,因此尝试使用在初始化时不同。我对“D-Test”SBox有一些好运,它与大多数(如果不是全部)在线工具相匹配。你可以像这样初始化不同的SBox:

HMac mac = new HMac(new GOST3411Digest(GOST28147Engine.getSBox("D-Test"))); 
相关问题