Sel*_*vin 50
C:\Users\Selvin\Desktop\selvin.kpselvinC:\Program Files\Java\jdk1.6.0_22\bin\keytool.exeC:\OpenSSL-Win32\bin\openssl.exe然后,你应该打电话:
C:\ Program Files\Java\jdk1.6.0_22\bin\keytool.exe"-exportcert -alias selvin -keystore c:\ users\selvin\desktop\selvin.kp | C:\ OpenSSL-Win32\bin\openssl sha1 -binary | C:\ OpenSSL-Win32\bin\openssl base64
用适当的路径替换我的路径和别名.
然后你应该看到:
输入密钥库密码:
输入您的密码,你应该得到这样的东西: NfhDlIH7XWJzUZRjL+pZySrMX1Q=
编辑:NfgDlIG7XWJzUZRUL+bZySrMX1Q=< - 是一个糟糕的哈希.或者你很幸运,你的钥匙发生了同样的碰撞
错误:keytool错误:java.lang.Exception:别名不存在
如果哈希不工作:
首先,打电话
C:\ Program Files\Java\jdk1.6.0_22\bin\keytool.exe"-exportcert -alias selvin -keystore c:\ users\selvin\desktop\selvin.kp
输入密码并阅读错误
如果你不记得你的别名,keytool error: java.lang.Exception: Alias <selvinn> does not exist我用selvinn来表示错误.
有关所有条目/别名的列表:
C:\ Program Files\Java\jdk1.6.0_22\bin\keytool.exe -list -keystore c:\ users\selvin\desktop\selvin.kp
第二次编辑

小智 21
对于那些仍在苦苦挣扎的人,我发现正确遵循这些步骤肯定会有效,但是第一次正确使用它们可能非常具有挑战性,实际上我发现有时候处理某些别名时指纹的base64转换"不起作用" (哈希由于某种原因被截断).我已经编写了各种批处理文件,这些批处理文件已经将大部分已经提到的指令拉到了一起,所以我不排除那里的问题.
但是,基本上大多数人都处于openssl阶段(要么找不到它,要么不知道如何使用它,或者Windows管道没有正确地将SHA1导出的输出链接到base64转换输入).
要解决这个问题,您可以使用一种可能更容易理解的替代方法.基本上facebook API需要的是用于指纹APK的SHA1哈希的base64表示(编码).为此,您只需列出密钥库:
"C:\Program Files\Java\JRE6\Bin\keytool.exe" -list -v -keystore "Path-to-your-keystore" -storepass "KeystorePassword" > somefile.txt
Run Code Online (Sandbox Code Playgroud)
显然,您需要根据自己的设置更改keytool可执行文件的路径,并将"Path-to-your-keystore"和"KeystorePassword"替换为您的密钥库路径和密码!结果应该是在当前文件夹中创建文件"sometext.txt",然后您可以在任何文本编辑器中打开该文件.文本文件将列出所有密钥库别名'及其各自的MD5和SHA1哈希值为十六进制字符串.
现在只需找到用于签署APK的别名,复制SHA1哈希,并使用任何在线十六进制到base64转换器将其转换为facebook所需的base64编码格式.您可以通过Google搜索"在线十六进制到base64转换器"找到在线转换器.我一直在使用这个,因为你可以直接将文本文件中的字符串复制并粘贴到提供的框中,它将删除分隔每个十六进制字节的冒号.
最后一点(有点明显但是......)只复制并粘贴十六进制字符串而不是SHA1:前缀!
希望这有助于某人; 它肯定适合我!
Eve*_*aak 14
首先,我要感谢Selvin!
这个答案几乎与Selvin的答案完全相同,但它还需要3个小时才能完成它的工作:P所以为真正的新手提供了更多的教程
如何从密钥库中获取hashKey
location keytool C:\ Program Files(x86)\ Java\jdk1.xxx)\ bin\keytool location openssl C:\ OpenSSL-Win32\bin\OpenSSL location(debug)keystore C:\ Users [usernamepc] .android\debug.密钥库
在windows中打开cmd(start-> run-> cmd)并导航到keytool位置或复制粘贴以下字符串,注意你不能使用ctrl + v但是鼠标右键单击
cd c:\program files (x86)\java\jdk1.7.0_01\bin
Run Code Online (Sandbox Code Playgroud)
当在正确的目录中粘贴此字符串在cmd行中:
keytool.exe -exportcert -alias androiddebugkey -keystore c:\users\charx\.android\debug.keystore | C:\OpenSSL-Win32\bin\openssl sha1 -binary | C:\OpenSSL-Win32\bin\openssl base64
Run Code Online (Sandbox Code Playgroud)
"C:\ OpenSSL-Win32\bin\openssl"是opensssl.exe的路径,用openssl.exe的路径替换它
确保你更改你的电脑名称的[usernamepc],你可以看到我的情况下它是charx.此外,java jdk xxxx的目录取决于您的版本.
cmd应显示hashkey
我的调试文件的哈希键是
h1GdQbgB8b/liCG+acmZWkgIRHA=
Run Code Online (Sandbox Code Playgroud)
小智 9
Eclipse的解决方案(适合像我这样的懒人).
选择Eclipse中的任何项目,导出 - Android应用程序,输入密钥传递等,在底部的最后一页,您将看到MD5:.... SHA1:....
复制SHA1字符串并将其粘贴到任何HEX-Base64在线转换器中(例如:http://tomeko.net/online_tools/hex_to_base64.php)
恭喜!你已经获得了Facebook Dev Console所需的密钥哈希.
| 归档时间: |
|
| 查看次数: |
56931 次 |
| 最近记录: |