GOST 3411 Algorithm using Bouncy Castle(基于弹跳城堡的GOST 3411算法)
本文介绍了基于弹跳城堡的GOST 3411算法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用GOST算法来创建基于键的散列和使用弹跳城堡库的输入。下面的代码生成的散列与通过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进行验证并进行身份验证。基本上,加密用于生成身份验证令牌。
很长时间以来一直在提及堆栈溢出,但从未有机会发布任何问题。这是我的第一次:)
谢谢, 苏迪普
推荐答案
GOST3411算法有几个Sbox选项,因此尝试在初始化时使用不同的选项。我在"D-测试"Sbox上有一些运气,它与大多数在线工具匹配,如果不是全部的话。您可以按如下方式初始化不同的SBox:
HMac mac = new HMac(new GOST3411Digest(GOST28147Engine.getSBox("D-Test")));
这篇关于基于弹跳城堡的GOST 3411算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:基于弹跳城堡的GOST 3411算法


基础教程推荐
猜你喜欢
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- RabbitMQ:消息保持“未确认"; 2022-01-01
- Struts2 URL 无法访问 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01