我已在诺基亚论坛发布此问题,所以请耐心等待。
我正在编写一个应用程序,需要找到以唯一值键入的URL的SHA-256哈希值,即hmac('sha256', '27/3', '9EWVFmHpHN6n2YKW9QtvUqX3xbsFQUBovlrFddqnF7fpcSDA2q')
。在Java ME / J2ME中执行此操作的最佳方法是什么?
我发现了许多使用Mac
类的示例,但Java ME / J2ME不支持这种情况。
提前致谢。
答案 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
- 其中包含适合您的内容。