Java 无法获取发布密钥库的密钥哈希

Java 无法获取发布密钥库的密钥哈希,java,android,mobile,Java,Android,Mobile,我想获取发布密钥库文件的密钥散列,以便与facebook应用程序共享 首先,我使用debug.keystore进行了测试,找到了两种方法: 1备选方案1。使用openssl on命令: keytool-exportcert-alias androiddebugkey-keystore C:\Users\MyComputer\.android\debug.keystore | C:\openssl\bin\openssl sha1-binary | C:\openssl\bin\openssl b

我想获取发布密钥库文件的密钥散列,以便与facebook应用程序共享

首先,我使用debug.keystore进行了测试,找到了两种方法:

1备选方案1。使用openssl on命令:

keytool-exportcert-alias androiddebugkey-keystore C:\Users\MyComputer\.android\debug.keystore | C:\openssl\bin\openssl sha1-binary | C:\openssl\bin\openssl base64

密码:安卓

我拿到了钥匙1:6MrZUeEW/uRAVAd--p5iSsnU=

2备选方案2。使用此代码

试一试 {

}

我拿到了钥匙2:k6DGV3glG4iE7t---vrrwz4ZI=

我不知道它是如何从一个密钥库中得到两个不同的密钥哈希的。我为我的facebook应用程序设置了每个密钥并进行调试。结果:键1-无法共享,键2-良好共享

这是调试密钥库的密钥散列

现在我想获得我的发布密钥库的keyhash,但我只是通过使用选项1获得它,选项2无法获得发布密钥库的keyhash。和我担心的一样,我使用选项1获取的密钥哈希不起作用

现在我不知道如何获得我的发布密钥库的真正密钥散列。我不能使用新密钥库,因为我不能使用从它生成的.apk文件上传到Google Play。请帮帮我


多谢各位

试试这个,你说用代码生成的密钥工作正常,而释放密钥可以使用相同的代码。我如何使用该代码获取释放密钥库的密钥哈希?它似乎得到了debug.keystore默认值的keyhash。非常感谢您,meda和Biraj Zalavadia。我使用密钥库的SHA1找到了真正的hashkey,并使用在线转换器hex-to-base64。
        PackageInfo info = getPackageManager().getPackageInfo(
                "my_project", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {