小编Ris*_*shi的帖子

HMAC-SHA256签名计算算法

我正在尝试使用HMAC-SHA256算法创建签名,这是我的代码.我正在使用US ASCII编码.

final Charset asciiCs = Charset.forName("US-ASCII");
final Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
final SecretKeySpec secret_key = new javax.crypto.spec.SecretKeySpec(asciiCs.encode("key").array(), "HmacSHA256");
final byte[] mac_data = sha256_HMAC.doFinal(asciiCs.encode("The quick brown fox jumps over the lazy dog").array());
String result = "";
for (final byte element : mac_data)
{
    result += Integer.toString((element & 0xff) + 0x100, 16).substring(1);
}
System.out.println("Result:[" + result + "]");
Run Code Online (Sandbox Code Playgroud)

我从上面的代码得到的结果是:

f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Run Code Online (Sandbox Code Playgroud)

这与wiki中显示的相同

HMAC_SHA256("key", "The quick brown fox jumps over the lazy dog") = 0x f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Run Code Online (Sandbox Code Playgroud)

除了0x.

我正在寻找想法/评论,如果我做的一切正确或可能是我可以改进我的代码.

java character-encoding digital-signature hmac

58
推荐指数
6
解决办法
12万
查看次数

从Java调用Restful Service

在这里,我不是在创建RESTful服务,我必须从我的java代码中调用外部Restful服务.目前我正在使用Apache HttpClient实现这一点.我从Web服务获得的响应是​​XML格式.我需要从XML中提取数据并将它们放在Java对象上.我听说我们可以使用JAX-RS和JERSEY来自动将xml标签映射到相应的java对象,而不是使用SAX解析器.

我一直在寻找但无法找到入门的来源.我确实查看了现有的链接 使用Java中的Java RESTful调用来使用RESTful API

任何帮助都值得期待.

谢谢!!

java rest web-services

15
推荐指数
2
解决办法
9万
查看次数

模拟超类构造函数

我想知道是否可以模拟超类构造函数调用及其 super() 调用。

例如,我有以下课程

class A
{
    A(..)
    {
        super(..)
    }
}   

class B extends A
{
    B(C c)
    {
        super(c)
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,我计划对 B 类中的一些方法进行单元测试,但是在创建实例时,它确实会调用超类构造函数,这使得编写单元测试变得很困难。那么,我如何模拟所有超类构造函数调用。另外,我想模拟 A 类中的一些方法,以便它根据我的需要返回一些值。

谢谢!!

java junit guice jmock mockito

5
推荐指数
1
解决办法
1万
查看次数

订阅活动巴士

我正在尝试使用guava订阅EventBus.试图查看网站文档,但无法看到任何显示如何执行此操作的示例.

有人试过吗?

private final EventBus eventBus = new EventBus();
eventBus.post(eventId); // where eventId is a string.
Run Code Online (Sandbox Code Playgroud)

这是在其中一个罐子里.现在我需要订阅这个eventbus并检查是否有任何新的eventId已发布.我怎样才能做到这一点?

任何帮助表示赞赏.

谢谢!!

java guava

4
推荐指数
1
解决办法
8911
查看次数