微信开放平台要求开发者提供的应用签名是 MD5 格式的字符串。具体格式是一个由32个字符组成的16进制字符串,通常形如:XXXXXXXXXXXXYYYYYYYYYYYYYYYY,其中每个字符是0-9或a-f的小写字母。

生成应用签名 MD5 的步骤如下:

1. 确认所需文件

需要使用 Android 签名文件(即 .keystore.jks 文件),通常是为应用签名时使用的密钥库。

2.1 使用 Keytool 工具生成签名

Keytool 是 Java 开发工具中常见的工具之一,可以通过它提取 MD5。

常见命令:
keytool -list -v -keystore your_keystore_path -alias your_alias_name
  • your_keystore_path:签名文件的路径,例如 ./my-release-key.jks
  • your_alias_name:密钥的别名(创建签名文件时设置的名称)。
输出示例:

运行后会输出类似下面的信息:

MD5:  AB:12:34:56:78:9A:BC:DE:F1:23:45:67:89:AB:CD:EF
SHA1: 12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78
SHA256: ...

2.2 使用 Keytool 工具查看已有文件的签名

2.2.1 如果签名文件可用

直接使用 keytool 命令:

keytool -list -v -keystore existing-release-key.keystore

按照上面提到的步骤,找到 MD5 值。

2.2.2 如果只有 APK 文件

可以通过反编译或使用工具提取 APK 签名:

1) 使用命令行工具 apksigner 提取:

apksigner verify --print-certs your-app.apk

输出示例:

MD5: A1:B2:C3:D4:E5:F6:G7:H8:I9:J0:K1:L2:M3:N4:O5:P6

格式化为 MD5:A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6

2) 反编译工具提取(如 apktool
使用工具提取 APK 的签名信息,并找到 META-INF 文件夹下的 .RSA 文件,从中分析签名。

3. 获取 MD5 值

MD5 的值复制下来,例如:

AB:12:34:56:78:9A:BC:DE:F1:23:45:67:89:AB:CD:EF

然后去掉所有的冒号(:),最终得到的格式是:

AB123456789ABCDE123456789ABCDEF

4. 转小写

微信要求使用小写字母格式,因此最终结果为:

ab123456789abcde123456789abcdef

注意事项

  1. 签名信息与 .keystore 文件密切相关,调试签名发布签名的 MD5 会不一样。
  2. 开发者必须保证提交的签名与应用实际使用的签名一致,否则会导致 API 调用失败。
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐