本文介紹了基于彈跳城堡的GOST 3411算法的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我使用GOST算法來創(chuàng)建基于鍵的散列和使用彈跳城堡庫的輸入。下面的代碼生成的散列與通過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進行驗證并進行身份驗證。基本上,加密用于生成身份驗證令牌。
很長時間以來一直在提及堆棧溢出,但從未有機會發(fā)布任何問題。這是我的第一次:)
謝謝,
蘇迪普
推薦答案
GOST3411算法有幾個Sbox選項,因此嘗試在初始化時使用不同的選項。我在”D-測試”Sbox上有一些運氣,它與大多數在線工具匹配,如果不是全部的話。您可以按如下方式初始化不同的SBox:
HMac mac = new HMac(new GOST3411Digest(GOST28147Engine.getSBox("D-Test")));
這篇關于基于彈跳城堡的GOST 3411算法的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,