hmacsha256 java_java – 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 + "]");

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

f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

这与wiki中显示的相同

HMAC_SHA256("key", "The quick brown fox jumps over the lazy dog") = 0x f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

除了0x。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值