Facebook实现第三方登陆invalidKeyHash的解决方法

keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\openssl\bin\debug.txt
在接入Facebook第三方登陆时,有时候按照Facebook提供的方法(包括通过代码得到的)得到的keyHash并不匹配,所以登陆时会造成Invalid key hash的错误。

当时也试了好多方法,最后在stackoverflow上面找到了解决方法。获取KeyHash的步骤如下。

1,点击下载openssl。(需要翻墙,本来打算自己上传一份,想想要接入Facebook不能翻墙还接个毛线)

2,在C盘创建openssl文件夹。

3,解压第一步下载的zip压缩文件到openssl文件夹。

4,找到debug.keystore文件(如果你的用户名没改的话,一般是在C:\用户\Administrator.android中),把它拷贝到你的电脑中的JDK的bin目录中(因人而异了)。

5,在JDK的bin目录中按住shift+鼠标右键,在此处打开命令窗口。输入

6,回车后需要输入密码,密码为android。

7,现在在你的openssl的bin目录中应该已经有一个debug.txt的文件了。

8,关掉当前cmd窗口,切换到openssl的bin目录中,按住shift+鼠标右键,在此处打开命令窗口。输入

openssl sha1 -binary debug.txt > debug_sha.txt
9,回车后,你的openssl文件夹中应该就有一个debug_sha.txt文件了。

keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\openssl\bin\debug.txt
10,继续在当前cmd窗口输入

openssl base64 -in debug_sha.txt > debug_base64.txt
11,回车后你的在openssl的bin目录中会有一个debug_base64.txt 的文件了,打开这个文件就得到正确的KeyHash了

(PS,最后得到的正确的KeyHash好像就是如图所示的crash的时候所显示的那个keyhash值,当时修改以后没有这个错误了也就没有核对了,有兴趣的朋友可以直接输入crash时候的那个keyhash。这个图是在CSDN上找的,因为自己当时并没有截图)

转载:https://blog.csdn.net/qq_16445551/article/details/52693861

猜你喜欢

转载自blog.csdn.net/peachs885090/article/details/81232329