如何在应用程序目标 Android 28 时从代码生成 Android 应用程序指纹?

How to generate Android App fingerprint from code when app targets Android 28?

为了检查应用程序是否 运行 在未修改版本的 APK 上,我在运行时检查应用程序的 SHA1 签名。 到现在为止一切正常,但如果我现在想定位 Android 28,它就不再起作用了

java.security.NoSuchAlgorithmException: The BC provider no longer provides an implementation for MessageDigest.SHA1.  Please see https://android-developers.googleblog.com/2018/03/cryptography-changes-in-android-p.html for more details.

还有其他方法可以从代码中做到这一点吗? 直到现在我都没有找到任何解决方案...

您可以通过以下代码使用sha-1。注意是“SHA-1”,不是“SHA1

MessageDigest md = MessageDigest.getInstance("SHA-1");

详情:Make SHA1 encryption on Android?