Java ME / J2ME中的SHA-256哈希函数

时间:2013-01-28 18:32:25

标签: java-me hmac sha256

我已在诺基亚论坛发布此问题,所以请耐心等待。

我正在编写一个应用程序,需要找到以唯一值键入的URL的SHA-256哈希值,即hmac('sha256', '27/3', '9EWVFmHpHN6n2YKW9QtvUqX3xbsFQUBovlrFddqnF7fpcSDA2q')。在Java ME / J2ME中执行此操作的最佳方法是什么?

我发现了许多使用Mac类的示例,但Java ME / J2ME不支持这种情况。

提前致谢。

2 个答案:

答案 0 :(得分:3)

我设法让事情顺利进行,解决方案如下:

Digest  digest = new SHA256Digest();
HMac hmac = new HMac(digest);
hmac.init(new KeyParameter(appKeyHere));
hmac.update(requestURI, 0, lenOfReqURI);
byte[]  resBuf = new byte[digest.getDigestSize()];
hmac.doFinal(resBuf, 0);
String  resStr = new String(Hex.encode(resBuf)); // Contains final usable value

答案 1 :(得分:1)

BouncyCastle's latest J2ME compatible release (the lightweight API)包含SHA256实现 - org.bouncycastle.crypto.digests.SHA256Digest - 其中包含适合您的内容。