如何生成用于发布的 MD5 密钥散列?

问题描述 投票:0回答:1

此命令不生成 MD5 哈希。我只得到 SHA1 和 SHA256

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

如何生成MD5? 我试过了,还是一样:

gradle signingreport
/.gradlew signingreport

Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

我正在用这个方法

keytool -exportcert -alias myaliasofkeystore -keystore mykeystorefolder/release-keystore | openssl md5

它给了我我的 md5,但它是正确的吗? 输出是:

MD5(stdin)= mymd5 without : like when generating singingreport

这里的标准输入是什么意思?

android kotlin gradle hash md5
1个回答
2
投票

命令“keytool -list”可能默认不显示 MD5 哈希。但是,您可以尝试在命令中添加“-v”选项,这将显示有关证书的所有可用信息,包括 MD5 哈希值。

所以更新的命令是:


keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

关于您尝试使用 opensl 的方法,输出中的“stdin”意味着 MD5 哈希是根据 openssl 命令的标准输入流计算的,在本例中是 keytool 导出的证书..

还有一些其他的事情你可以尝试......

尝试使用“-v”选项运行“keytool”命令以获取有关证书的更多信息,包括 MD5 哈希。命令将是:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

尝试使用“jarsigner”命令获取 MD5 哈希...


jarsigner -verbose -keystore ~/.android/debug.keystore -list my_application.apk

将“my_application.apk”替换为您的 APK 文件的路径 MD5 哈希值应列在输出的Certificate fingerprints 部分下..


如果您仍然无法使用 keytool 和 openssl 命令获取 MD5 哈希,您可以尝试使用不同的工具或方法来计算哈希。您可以尝试使用我之前建议的“jarsigner”命令,或者您可以尝试使用在线工具来计算 MD5 哈希值。

或者,您可以尝试生成一个新的调试密钥库,看看是否可以解决问题:

keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000

这将在当前目录中创建一个名为 debug.keystore 的新调试密钥库,别名为“androiddebugkey”。然后,您可以使用 keytoolopenssl 命令获取此新密钥库的 MD5 哈希值,并查看它是否正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.