为 google sms 检索器 api 生成哈希字符串 - 'xxd' 不被识别为内部或外部命令

Kha*_*ukh 10 api hash android keytool one-time-password

在谷歌关于短信和通话记录权限的新政策之后,我正在尝试为我的 android 应用程序实现短信检索器 API。本教程看起来很简单,但我在创建/生成相同的哈希时发现了一个问题。

当我打字

keytool -alias MyAndroidKey -exportcert -keystore MyProduction.keystore | xxd -p | tr -d "[:space:]"
Run Code Online (Sandbox Code Playgroud)

或者

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)

它说:

'xxd' is not recognized as an internal or external command,
operable program or batch file.

'tr' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

https://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string页面上没有任何说明

谢谢。

Kha*_*ukh 14

最后,我设法获得了使用 SMS 检索器 API - Android 的哈希键。

我遵循的步骤。

  1. 我正在使用 Git,所以它安装在我的机器上。转到 C:\Program Files\Git\usr\bin,我看到它有 xxd.exe 和 tr.exe,这是我的要求。

  2. 所以我将环境变量添加到 Path > New > C:\Program Files\Git\usr\bin

  3. 以管理员权限重启cmd。xxd 和 tr 命令开始工作。

希望这会帮助其他人,因为谷歌已经停止了 CALL_LOG、READ_SMS 权限。

干杯。

- - - - - - - - - - -更新 - - - - - - - - - - - -

我在这里找到了另一个很好的答案。

请按照链接一步一步地创建哈希键

我遵循了这一点,因为在发布应用程序以播放存储后,生成的哈希键不再起作用

如何使用 Google App 签名为 Sms Retriever 生成 11 个字符的哈希密钥

希望它会帮助某人!


小智 6

[针对 Windows 已更新]

# xxd
C:\Program Files\Git\usr\bin\xxd
# tr
C:\Program Files\Git\usr\bin\tr
# base64
C:\Program Files\Git\usr\bin\base64
Run Code Online (Sandbox Code Playgroud)

整个命令变成

keytool -exportcert -alias YOUR_ALIAS -keystore certificate.jks | "C:\Program Files\Git\usr\bin\xxd" -p |"C:\Program Files\Git\usr\bin\tr" -d "[:space:]" | echo -n PACKAGE_NAME `cat` | "C:\Program Files\Git\usr\bin\sha256sum" | "C:\Program Files\Git\usr\bin\tr" -d "[:space:]-" | "C:\Program Files\Git\usr\bin\xxd" -r -p | "C:\Program Files\Git\usr\bin\base64" | "C:\Program Files\Git\usr\bin\cut" -c1-11
Run Code Online (Sandbox Code Playgroud)