java - 将 MessageDigest 与 J2ME 应用程序一起使用

标签 java java-me sha

我无法在 J2ME 应用程序中使用 MessageDigest API - 它正在发出警报 NoSuchMethodError

digest()

我的代码是

MessageDigest md= MessageDigest.getInstance("SHA-1");         
md.update(hashString.getBytes("UTF-8"),0,0);
byte[] digest = null;
md.digest(digest,0,digest.length);
System.out.println("digest of str is "+new String(digest) );

上面的代码在 Java 应用程序中运行良好,但在 J2ME 中给出了 NoSuchMethodError

我可以在 J2ME 中使用 MessageDigest 吗?如果,请告诉我怎么做。

最佳答案

java.security.MessageDigest通常不是 J2ME 的一部分,因此不能直接使用。

一些 J2ME 设备实现了JSR 177 ,这将允许您使用 MessageDigest

或者,您可以尝试开源 SHA1 实现,such as this one .

另一种选择是使用 BouncyCastle图书馆,和use it to implement SHA1 digests for J2ME .

如果您使用 BouncyCaSTLe,请确保获得其中一个版本(.jar 或源代码)that's designed for J2ME .

关于java - 将 MessageDigest 与 J2ME 应用程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893427/

相关文章:

paypal - Barclaycard ePDQ - 自定义用户生成的金额

woothemes电商网站SSL证书

java - 为什么 Eclipse 警告我添加serialVersionUID?

java - J2ME 适用于诺基亚 S60 5 号 : bluetooth serial API

javascript - 在 Javascript 中创建 C# 生成的 HMAC 哈希

java - 日历中的事件列表

java - Lwuit 在两个容器之间创建一条空线

java - 如何将编辑器模板放入 Eclipse 插件中?

Java:防止项目作为重复项添加到 UI

java - 在 Java 正则表达式中匹配 A 但不匹配 B?