在facebook android sdk中为app获取两个不同的Hash密钥

时间:2013-02-21 11:28:17

标签: android facebook-android-sdk

代码:

// Add code to print out the key hash
PackageInfo info = getPackageManager().getPackageInfo("com.my.package", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());

        Log.d("KeyHash1:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        Log.d("KeyHash2:", Base64.encodeToString(md.digest(), Base64.DEFAULT));

    }

Logcat输出:

02-21 10:07:55.957: D/KeyHash1:(2666): A0AFqS0kOUlvxvH1L3VCCrTXNY8=
02-21 10:07:55.967: D/KeyHash2:(2666): 2jmj7l5rSw0yVb/vlWAYkK/YBwk=

我对这两个不同的哈希键感到困惑。 现在我的问题是哪个键适用于我的应用程序

我认为md.digest()在第一次和第二次方法调用时会返回不同的值。

1 个答案:

答案 0 :(得分:0)

先生,在日志中,您正在编码字符串。

这是我的代码。

md = MessageDigest.getInstance("SHA-256");
        md.update(text.getBytes("iso-8859-1"), 0, text.length());
        sha1hash = md.digest();