微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android可以为MD5抛出NoSuchAlgorithmException吗

如何解决android可以为MD5抛出NoSuchAlgorithmException吗

Android 的 MessageDigest 页面说从第一天起就支持 MD5 - https://developer.android.com/reference/java/security/MessageDigest

但是 MessageDigest.getInstance("MD5") 方法可以抛出 NoSuchAlgorithmException 并且没有 getMD5Instance 方法可以保证它。至少在 23 (Marshmallow) 之后的较新 android 版本中是否有可能无法使用 MD5?感谢回复

有另一个线程讨论了这个问题,但已经有 7 年的历史了,在 android 2.x 设备 (Gingerbread) 上报告了一些事件。 Is MD5 guaranteed to be available for use with MessageDigest in Android?

解决方法

但是 MessageDigest.getInstance("MD5") 方法可以抛出 NoSuchAlgorithmException

正确。这就是 Java JDK 定义 MessageDigest 的方式。这个类不是为 Android SDK 定制的。

没有 getMD5Instance 方法可以保证它

正确。据推测,JDK 的设置是为了能够在未来停止使用过时的算法。

至少在 23 (Marshmallow) 之后的较新 android 版本中是否有可能无法使用 MD5?

如果许多当前设备缺乏 MD5 支持,我会感到惊讶。但是:

  • 拥有 26,000 多种设备型号,并且设备制造商可以随心所欲,我们不能假设一切都支持 MD5;和

  • 我们不知道未来会带来什么——MD5 可能会因某种原因被删除

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。