为什么keytool生成不同的facebook androiddebugkey哈希?

概述我正在创建使用Facebook登录SDK的Android应用程序.我想生成调试密钥哈希.在Facebook网站上,我发现了这个命令:keytool-exportcert-aliasandroiddebugkey-keystore%HOMEPATH%.android\debug.keystore|opensslsha1-binary|opensslbase64我修改了此命令以在我的

我正在创建使用Facebook登录SDK的Android应用程序.

我想生成调试密钥哈希.在Facebook网站上,我发现了这个命令:

keytool -exportcert -alias androIDdeBUGkey -keystore
%HOMEPATH%.androID\deBUG.keystore | openssl sha1 -binary | openssl
base64

我修改了此命令以在我的计算机上工作:

keytool -exportcert -alias androIDdeBUGkey -keystore
C:\Users\redio\.androID\deBUG.keystore | “C:\OpenSSL\bin\openssl” sha1
-binary |”C:\OpenSSL\bin\openssl” base64

接下来我输入密码:androID

此命令生成此哈希:QUhvjKstiP5gc7hPEzwF89mwHws =

然后我将它粘贴在facebook开发者控制台中
和Facebook仍然说密钥哈希是无效的.我知道我可以从警告消息中复制密钥哈希,并将其粘贴到Facebook开发人员控制台中.但我的问题是为什么keytool生成错误的密钥哈希?

解决方法:

我也有很多问题让keytool生成一个有效的哈希,但我实现了我找到的下面的方法,并能够注销一个有效的哈希.代码的确切来源有点不清楚,但this blog post是一个很好的猜测.

public static String printKeyHash(Activity context) {    PackageInfo packageInfo;    String key = null;    try {        //getting application package name, as defined in manifest        String packagename = context.getApplicationContext().getPackagename();        //Retriving package info        packageInfo = context.getPackageManager().getPackageInfo(packagename,                PackageManager.GET_SIGNATURES);        Log.e("Package name=", context.getApplicationContext().getPackagename());        for (Signature signature : packageInfo.signatures) {            MessageDigest md = MessageDigest.getInstance("SHA");            md.update(signature.toByteArray());            key = new String(Base64.encode(md.digest(), 0));            // String key = new String(Base64.encodeBytes(md.digest()));            Log.e("Key Hash=", key);        }    } catch (PackageManager.nameNotFoundException e1) {        Log.e("name not found", e1.toString());    }    catch (NoSuchAlgorithmException e) {        Log.e("No such an algorithm", e.toString());    } catch (Exception e) {        Log.e("Exception", e.toString());    }    return key;}
总结

以上是内存溢出为你收集整理的为什么keytool生成不同的facebook androiddebugkey哈希?全部内容,希望文章能够帮你解决为什么keytool生成不同的facebook androiddebugkey哈希?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存