且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何创建一个Facebook密钥哈希?

更新时间:2022-12-10 12:35:34

尝试

  try {
PackageInfo info = getPackageManager ).getPackageInfo(com.eatapp,PackageManager.GET_SIGNATURES);
(签名签名:info.signatures){
MessageDigest md = MessageDigest.getInstance(SHA);
md.update(signature.toByteArray());
Log.e(MY KEY HASH:,Base64.encodeToString(md.digest(),Base64.DEFAULT));
}
} catch(NameNotFoundException e){

} catch(NoSuchAlgorithmException e){

}

在你的主要活动:-)这是唯一的解决方案,它适用于Android SDK 3.0


In the Facebook android tutorial we are told to use following code to create a key hash:

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Is this the exact code to use in all situations? For example instead of ~/.android/debug.keystore should it something like C:/folderone/foldertwo/.android/debug.keystore?

As you can see I'm unsure of whether inverted commas are required or not, whether full paths are required or not!

Is anyone able to provide a real world example?

See
https://developers.facebook.com/docs/mobile/android/build/#sso

try

try {
PackageInfo info = getPackageManager().getPackageInfo("com.eatapp", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

in your main Activity :-) This is the only solution it works for me for Android SDK 3.0