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

时间:2013-06-03 09:14:33

标签: java java-me sha

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

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

1 个答案:

答案 0 :(得分:1)

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