SMS检索器API不会在发行版本中自动从SMS读取OTP

时间:2019-01-16 11:26:36

标签: android hash sms one-time-password

我从AppSignatureHelper类生成了哈希,该哈希可用于调试版本,而对于发行版本则无效,因此我使用密钥存储区和别名使用命令https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string生成了哈希值,并更新为SMS文本,这也没有实现”工作。

2 个答案:

答案 0 :(得分:4)

首先在Play商店上发布应用,然后执行以下步骤:

  1. 转到开发者控制台中的发布管理。
  2. 点击应用签名。

我添加了一个示例,您可以在SS下方检入。

enter image description here

编辑1:-

发布 哈希键的步骤:

  • 下载Openssl(从here下载),我已经下载了 64位操作系统,可以找到更多的here
  • 仅将下载的zip文件解压缩到C:\驱动器中
  • 打开命令提示符
  • keytool -exportcert -alias **myaliasname** -keystore **"C:\Users\hiren.patel\Desktop\mykeystore.jks"** | "C:\openssl-0.9.8e_X64\bin\openssl.exe" sha1 -binary | "C:\openssl-0.9.8e_X64\bin\openssl.exe" base64

请根据需要更改别名> 密钥存储区

注意:

请将您的详细信息放在我在** **之间标记的位置。

终端将询问以获取Keystore的密码。您必须提供密码以使用相同的密钥库

所以最终您将获得 Release Hashkey

完成

编辑2:

在linux中使用此命令:

echo 33:4E:48:84:19:50:3A:1F:63:A6:0F:F6:A1:C2:31:E5:01:38:55:2E | xxd -r -p | openssl base64 

如果您没有Linux操作系统,则可以在线进行操作: 使用此链接:

https://rextester.com/l/bash_online_compiler

注意:使用开发者控制台中的API签名密钥。 enter image description here

修改3:

尝试为未启用Google APK登录的别名生成哈希值

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

注意:SHA-256证书指纹,请从开发者控制台获取

答案 1 :(得分:0)

最后,这解决了我的问题How to generate 11 char hash key for Sms Retriever with Google App signing

@farhan在他的问题中提到的解决方案有所帮助