启用谷歌应用程序签名后,生成的 11 个字符哈希代码不起作用

Aja*_*ran 6 sms android

我正在尝试实施Sms Retriever以在没有任何 SMS 许可的情况下从用户移动设备获取 otp。

最初,我按照此处所述使用 keytool 生成了带有 keystore(.jks) 的哈希键

当我使用此密钥库签署 apk 并使用此哈希密钥接收 SMS 时,它工作正常。

但是在将应用程序上传到 google play 商店后,短信接收器不起作用。我们启用了谷歌应用程序签名来签署应用程序。我发现谷歌将删除上传的签名,这是使用谷歌应用签名的应用程序的密钥,如here所述。所以,我试图将谷歌应用签名证书添加到上传的密钥库,并使用别名创建新的哈希密钥。但我无法将应用签名证书添加到具有别名的密钥库。

有什么建议可以为短信检索器生成带有应用签名证书的哈希键吗?

Sur*_*esh 5

当 Google 的应用签名启用时,将生成 11 个字符的哈希,而没有别名

短信检索API

以下命令从您的应用程序的生产密钥库中计算哈希字符串:

keytool -exportcert -alias MyAndroidKey -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11
Run Code Online (Sandbox Code Playgroud)

在上面的命令中,哈希是基于 MyAndroidKey 别名 ( -alias MyAndroidKey) 生成的。

尝试为 Google APK Sign Enabled 生成没有别名的哈希

IE

keytool -exportcert -keystore MyProductionKeys.keystore | xxd -p | tr -d "[:space:]" | echo -n com.example.myapp `cat` | sha256sum | tr -d "[:space:]-" | xxd -r -p | base64 | cut -c1-11
Run Code Online (Sandbox Code Playgroud)