使用不同的方法获得两个不同的HashKey

时间:2015-04-13 18:56:48

标签: android facebook facebook-sdk-4.0

我使用两种不同的方法让HashKey将应用程序连接到Facebook SDK。虽然我把它与其中一个回复联系起来,但我很想知道为什么我会得到不同的结果。

工作结果我在应用程序中生成Key Hash

public class GetHashKey extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_get_hash_key);
        try {
            PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md;

                md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String something = new String(Base64.encode(md.digest(), 0));
                Log.e("hash key", something);
            }
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            Log.e("name not found", e1.toString());
        }
    }
}

其他方法终端给我错误的结果

"C:\Program Files (x86)\Java\jre7\bin\keytool" -exportcert -alias androiddebugkey -keystore "C:\Users\Eugene\.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary | "C:\OpenSSL\bin\openssl" base64

我假设我做错了。如果有人看到一个解决方案,通过终端获得它将非常有用!

更新这是获取facebook提供的HashKey的Windows命令

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

0 个答案:

没有答案