为 Android SMS Retriever API 正确生成哈希密钥
众所周知,Android SMS Retriever API在当今的 Android 应用中占据主导地位。您可以通过以下链接了解更多信息。Google SMS Retriever API
根据 Android SMS Retriever API,每条消息都应遵循特定格式,其中必须包含“一次性代码”和“ 11 个字符的哈希字符串”,如下所示
您的验证码:123456
FA+9qCX9VSu此代码 ( FA+9qCX9VSu)是用于唯一标识应用程序的 11 个字符哈希码。根据密钥库文件的不同,同一应用程序的调试版本、发布版本和 Play 商店版本的密钥会有所不同。
在本文中,我们将介绍如何在 react-native 中为调试版本、发布版本和Play 商店版本生成所需的哈希键。为了生成哈希键,Google 提供了一个脚本来从密钥库文件中获取哈希键。
SMS_RETRIEVER_HASH_KEY_GENERATOR
将其保存到.sh 文件。
1)对于调试版本
如果您正在使用 react-native 库“ react-native-sms-retriever-api ”,则有一种方法可以获取 debug.keystore 的哈希码。
getHash():Promise<string[]>获取应添加到消息末尾的应用程序的哈希码。这只是一次性过程。
但在这里我们将了解如何使用 cmd 来完成工作。
首先找到应用程序的 debug.keystore 文件并复制一份,将其放在您保存 sms_retriever_hash_v9.sh 文件的位置。然后使用以下命令检索应用程序调试版本的哈希密钥。
./sms_retriever_hash_v9.sh — 包“com.your.packagename” — 密钥库 /path/to/debug.keystore这将返回调试哈希码
前8个字节经过base64编码:FA+9qCX9VSu
SMS 检索器哈希码:FA+9qCX9VSu2)对于发布版本
首先生成您的 upload.keystore 文件。
控制台
转到C:\Program Files\Java\jdkx.x.x_x\bin 并运行以下命令
这将提示输入密钥库文件的密码。输入密码并确保记住该密码以备将来使用。
Mac系统
首先找到 JDK 的位置*,然后运行以下命令导航到路径*
cd /你的/jdk/路径
然后使用以下命令并以sudo权限生成上传密钥库文件,并确保记住您输入的密码。
现在您的 upload.keystore 文件已经准备好了,您可以按照方法 1 进行相同操作来生成 11 个字符的哈希码。
注意*— 通过使用此功能,您可以检索哈希密钥。您可以在发布版本中使用它,但是当您将 .aab 文件或 apk 文件上传到 Playstore 时,此哈希码将不起作用,并且一次性代码不会从您的应用程序中选取。在这种情况下,您必须遵循不同的方法来实现这一点。*
3)针对 Play 商店发布
登录到您的 Play 控制台并转到您的应用。然后选择Release->Setup->App Signing
然后您可以在右上角看到下载证书链接,如下图所示
这将下载一个名为“ deployment_cert.der ”的文件,您不能直接使用它来生成哈希码。首先,您必须使用以下命令生成 .jks 文件
然后会提示“信任此证书?[否]: ”消息,并提供“是”作为答案。然后您的证书将被添加到密钥库,您可以找到生成的文件“ certificate.jks”。
现在,作为最后一步,您可以使用 certificate.jks 文件和以下命令。
然后会提示输入生成.jks文件的存储密码,输入密码就可以得到哈希码了。
现在你终于可以得到哈希码了,如下所示
本文介绍了如何生成上传密钥库文件、如何获取部署_cer 文件以及如何生成 .jks 文件。本文到此结束。
最后更新于