For the complete documentation index, see llms.txt. This page is also available as Markdown.

为 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+9qCX9VSu

2)对于发布版本

首先生成您的 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 文件。本文到此结束。

原文地址

最后更新于