我正在我的 android 应用程序中集成SMS Retriever API。
我按照以下文档生成应用程序的哈希字符串:
https ://developers.google.com/identity/sms-retriever/verify#computing_your_apps_hash_string
以下是生成哈希的方法:
1) 命令
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
2) AppSignatureHelper 类
对于不同的方法,我得到了不同的哈希值
prodRelease(使用命令)-R2J*******N
prodRelease(使用 AppSignatureHelper 类)-ROI*******6
以及针对不同构建变体的不同哈希值。
prodRelease: ROI*******6
prodDebug: CAz*******N
devRelease: R2J*******N
devDebug: ROI*******6(与 prodRelease 相同)
我使用带有 prodRelease 哈希的 SMS 模板测试了我的应用程序,即ROI*******6。它工作得很好,然后两天后,它停止工作。我进行了调试,现在哈希值再次不同,现在它可以与不同的哈希值R2J*******N一起使用。
我希望哈希值相同,因为它取决于应用程序的包 ID。
那么为什么不同的哈希值和哪个哈希值是正确的,或者它每次都会改变,我必须不断地改变服务器中的 SMS 模板?
或者有没有其他更好的方法来确定哈希?