我使用两种不同的方法让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