Google Play app签名密钥哈希

时间:2017-06-04 15:00:51

标签: android google-play

我选择了谷歌播放应用程序签名,我知道谷歌更改了应用程序的签名密钥,我找到了沙1证书,但无法找到密钥。

如何获取我发布的应用程序的keyhash有没有办法从证书中提取它?

5 个答案:

答案 0 :(得分:101)

您可以使用下一个命令将十六进制格式的SHA-1哈希值(如播放控制台中所示)转换为base64哈希:

echo 33:4E:48:84:19:50:3A:1F:63:A6:0F:F6:A1:C2:31:E5:01:38:55:2E | xxd -r -p | openssl base64

输出:

M05IhBlQOh9jpg/2ocIx5QE4VS4=

例如,在设置Facebook应用程序时可以使用此哈希值。

答案 1 :(得分:36)

您可以从Sha1证书签名中提取keyhash。密钥哈希通常以下列方式提取:

public static String getKeyHash(final Context context) {
    PackageInfo packageInfo = getPackageInfo(context, PackageManager.GET_SIGNATURES);
    if (packageInfo == null)
        return null;

    for (Signature signature : packageInfo.signatures) {
        try {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            return Base64.encodeToString(md.digest(), Base64.NO_WRAP);
        } catch (NoSuchAlgorithmException e) {
            Log.w(TAG, "Unable to get MessageDigest. signature=" + signature, e);
        }
    }
    return null;
}

您可以看到SHA-1版本的签名是Base64编码的。

在Google Play开发者控制台的App Signing菜单下,您会看到Sha-1证书签名,如下所示:

SHA1: 3B:DA:A0:5B:4F:35:71:02:4E:27:22:B9:AC:B2:77:2F:9D:A9:9B:D9

基本上,您需要做的是将其更改为字节数组,并对该字节数组进行Base64编码。你可以这样做:

byte[] sha1 = {
    0x3B, (byte)0xDA, (byte)0xA0, 0x5B, 0x4F, 0x35, 0x71, 0x02, 0x4E, 0x27, 0x22, (byte)0xB9, (byte)0xAc, (byte)0xB2, 0x77, 0x2F, (byte)0x9D, (byte)0xA9, (byte)0x9B, (byte)0xD9
};
Log.e("keyhash", Base64.encodeToString(sha1, Base64.NO_WRAP));

您可以将此密钥注册到Facebook android登录设置或任何您喜欢的位置。

答案 2 :(得分:3)

最简单的方法是复制Facebook的错误消息,并复制他们希望从那里获取的密钥哈希。

只需确保您使用的是Google Play下载的应用程序即可:)enter image description here

答案 3 :(得分:0)

  

回显“ Google在Play控制台中生成的应用签名密钥” | xxd -r -p | “ openssl路径” base64

答案 4 :(得分:0)

首先需要同样重要的工具

1.OpenSSl:安装在你的电脑中Download Here 2.在您的个人电脑或笔记本电脑中安装 Java 程序Download Now

只需运行 commond promt 1.转到您的目录 2.cd 程序文件 3.选择你安装java程序的位置 然后复制所有没有 c 驱动器的目录并通过 cd 在 commond promt 中的目录 4.keytool -exportcert -alias gci -keystore D:\folder name where you place your release key |C:\openssl\bin\openssl sha1 -binary |C:\openssl\bin\openssl base64

for more information Visit here