MD5是否可以在Android中与MessageDigest一起使用?

时间:2013-01-03 13:15:39

标签: android

我想知道在我直截了当地忽略MessageDigest.getInstance("MD5")可以抛出的已检查异常之前,MD5摘要算法是否可以在所有Android设备中使用。

2 个答案:

答案 0 :(得分:11)

我在某些设备上收到java.security.NoSuchAlgorithmException: MessageDigest MD5 implementation not found。这是清单:

GT-I8190
GT-I9100
GT-P3100
GT-S7562
HTC EVO 3D X515m
HTC Sensation 4G
带有Beats Audio X315b的HTC Sensation XL
LGL86C
LT22i
LT25i
LT26i的
LT26ii
LT29i
三星公司的SGH-I727
SGH-T769
SHV-E160K
SM-T211
ST21i
ST23i
ST26i
T7

和其他人。

这是主要针对印度尼西亚的统计数字。 有趣的是,统计数据是由Crittercism提供的,并且Crittercism也会抛出异常(看起来它在最新版本中使用了MD5)。

答案 1 :(得分:3)

Android JCE(Java Cryptography Extension)基于bouncycastle实现,但被剥离。 bouncycastle提供了大量不同的MessageDigest,可以找到here

不能保证每个Android设备都支持MD5,但它非常常见,并且很可能出现在每个设备上,因为它在bouncycastle中得到支持。如果您想知道设备是否支持MD5,您可以检查设备支持的算法。更多相关信息是here