SMS Retriever API - 为特定于应用程序的密钥库文件生成11个字符哈希码

时间:2017-07-10 06:31:17

标签: java android google-play-services

我正在尝试实现sms检索器api来读取OTP代码消息,而不必添加read_sms权限。

帮助文档here,要求用户生成特定于应用的哈希码。

我已根据需要生成了代码但仍然

<action android:name="com.google.android.gms.auth.api.phone.SMS_RETRIEVED"/>

广播接收器没有启动。

我该如何调试?

我正在通过从一个手机向另一个手机发送短信进行测试,我正在遵循上述文件中指定的短信要求。

另外, 提到了生成哈希码的各种方法。我试过了所有这些。问题是每个方法生成不同的哈希值。

我已经尝试过调试和发布密钥库。

以下是各种方法:

  1. linux命令如此处所述 - help doc
  2. sms_retriever_hash_v9 file如上所述here
  3. 通过在示例应用中添加AppSignatureHelper

1 个答案:

答案 0 :(得分:4)

第一个linux命令将别名指定为MyAndroidKey,但您的别名可能不同。您可以通过

找到您的别名
keytool -list -rfc -keystore $KEYSTORE

其中$KEYSTORE是您的密钥库文件。

使用别名,您可以尝试使用以下两个命令来验证结果是否相同:

  • keytool -alias MyAndroidKey -exportcert -keystore $KEYSTORE | xxd -p

  • keytool -list -rfc -keystore $KEYSTORE | sed -e '1,/BEGIN/d' | sed -e '/END/,$d' | tr -d ' \n' | base64 --decode | xxd -p