0

我已经在诺基亚开发者论坛上发布了这个问题,所以请多多包涵。

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

我找到了许多使用Mac该类的示例,但 Java ME/J2ME 不支持此功能。

提前致谢。

4

2 回答 2

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
于 2013-01-29T15:58:19.390 回答
1

BouncyCastle 最新的 J2ME 兼容版本(轻量级 API)包含一个 SHA256 实现——org.bouncycastle.crypto.digests.SHA256Digest它应该适合你。

于 2013-01-28T19:13:28.863 回答