2017-07-31 5 views
0

Je suis en train d'utiliser l'algorithme GOST pour créer un hachage basé sur une clé et une entrée utilisant des bibliothèques de château plein d'entrain. Ci-dessous le code génère Hash qui ne correspond pas à celui généré grâce à des outils en ligne tels que http://beautifytools.com/hmac-generator.phpGOST 3411 Algorithme utilisant Bouncy Castle

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)); 

Lorsque cela fonctionne, Besoin d'utiliser l'intérieur MuleSoft pour appeler API qui valide la Hash et donne l'authentification. Fondamentalement, l'encodage est pour la génération du jeton d'authentification.

Vous faites référence à stackoverflow depuis longtemps mais vous n'avez jamais eu l'occasion de poser des questions. Ceci est mon premier :)

Merci, Sudeep

+0

Qu'est-ce que vous attendez? –

Répondre

0

algorithme de GOST3411 a plusieurs options SBOx, donc essayez d'utiliser différents lors de l'initialisation. J'ai eu un peu de chance avec "D-Test" SBox, il correspond à la plupart sinon tous les outils en ligne. Vous pouvez initialiser différents SBox comme ceci:

HMac mac = new HMac(new GOST3411Digest(GOST28147Engine.getSBox("D-Test")));