【问题标题】:SMS retriever api wont read OTP from SMS automatically in release buildSMS 检索器 api 在发布版本中不会自动从 SMS 中读取 OTP
【发布时间】:2019-06-10 11:32:30
【问题描述】:

我从 AppSignatureHelper 类生成了适用于调试构建的哈希,同样不适用于发布构建,所以我使用密钥库和别名使用命令 https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string 生成了一个哈希并更新为 SMS 文本,这也不起作用.

【问题讨论】:

标签: android hash sms one-time-password


【解决方案1】:

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

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

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

编辑 1:-

发布 Hashkey的步骤:

  • 下载Openssl(从here下载),我已经下载了64位 OS,你可以找到更多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 及其路径

注意:

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

终端会询问密钥库的密码。您必须为同一个 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 签名密钥。

编辑 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 证书指纹,从开发者控制台获取这个

【讨论】:

  • 应用已发布,我需要 11 个字符的哈希
  • @wasim 检查 EDIT 2 也
  • 这不会给出需要添加到 SMS 文本中的 11 位字符,对吗?让我获取编码哈希的前 11 个字符并尝试
  • 我尝试了使用在线编译器生成的哈希的前11个字符,它没有帮助。
【解决方案2】:

终于解决了我的问题How to generate 11 char hash key for Sms Retriever with Google App signing

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 2021-11-08
    • 1970-01-01
    • 2019-08-08
    • 2021-04-10
    • 1970-01-01
    相关资源
    最近更新 更多