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