我需要为我的应用程序获取一个谷歌地图密钥,为此,我需要我的证书的MD5签名。正如在互联网上看到的,我使用"keytool“来获取它:
keytool -list -alias mykey -keystore mykeystore问题是答案是SHA1签名而不是MD5签名。
我使用JDK 1.7。
我做错了什么?
提前感谢您花时间来帮助我。
发布于 2011-12-20 00:30:27
通过返回到java 1.6来解决。
发布于 2011-12-16 23:00:37
还有另一篇关于同一件事的帖子How can I get the MD5 fingerprint from Java's keytool, not only SHA-1?
我猜JDK1.7默认使用SHA1。要解决此问题,请执行以下操作:
C:\Program Files\Java\jdk1.7.0\bin>keytool -v -list -alias
androiddebugkey -keystore debug.keystore -storepass android -keypass android我试过了,它对我很有效。它为您提供MD%、SHA1、SHA256和签名算法名称。按这个顺序。
发布于 2021-04-29 21:09:34
2021年的大家好。
JDK8及更高版本的keytool不再打印MD5,即使您尝试使用标准建议将"-v“选项添加到"keygen -list”命令中。
我猜MD5不再被认为足够安全和has been removed了。
同时,仍然有像亚马逊“安全配置文件管理”等地方要求您提交您的证书的MD5签名。
这是一个可以传递它的命令(对于Android Studio密钥库,使用密码"android“):
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | \
openssl dgst -md5 如果您想要在中间包含冒号字符,则添加以下"sed“命令:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | \
openssl dgst -md5 | \
sed 's/[a-fA-F0-9][a-fA-F0-9]/&:/g; s/:$//'上面的命令适用于Linux、macOS甚至Windows (在git bash中):

https://stackoverflow.com/questions/7954116
复制相似问题