3

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

消化()

我的代码是

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 应用程序中运行良好,但NoSuchMethodError在 J2ME 中提供。

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

4

1 回答 1

1

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

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

或者,您可以尝试开源 SHA1 实现,例如这个

另一种选择是使用BouncyCastle库,并使用它来实现 J2ME 的 SHA1 摘要

如果您使用 BouncyCastle,请确保获得专为 J2ME 设计的版本(.jar 或源代码)之一。

于 2013-06-05T06:46:16.733 回答