Android 使用不同的方法获取两个不同的哈希键
我使用两种不同的方法获取HashKey,以将应用程序连接到Facebook SDK。虽然我把它和其中一个回答联系起来,但我很好奇为什么我会得到不同的结果 工作结果我正在应用程序中生成密钥哈希Android 使用不同的方法获取两个不同的哈希键,android,facebook,facebook-sdk-4.0,Android,Facebook,Facebook Sdk 4.0,我使用两种不同的方法获取HashKey,以将应用程序连接到Facebook SDK。虽然我把它和其中一个回答联系起来,但我很好奇为什么我会得到不同的结果 工作结果我正在应用程序中生成密钥哈希 public class GetHashKey extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIn
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提供的哈希键的windows命令
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
最后一个命令不是应该是
“C:\OpenSSL\bin\OpenSSL”enc-base64
?@TedHopp刚刚用facebookSo提供的命令更新了我的问题,命令序列有效,问题解决了吗?@TedHopp给了我一个不起作用的HashKey.Hm。您确定代码版本使用相同的调试密钥运行吗?或者它是用您的生产密钥签名的?