2017-07-31 57 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"))); 
相關問題