Blu*_*ell 15 java sdk android facebook keytool
我只想要一些确认.
我正在开发Windows
我正在尝试将facebook集成到应用程序中,SDK文档说我需要'导出签名'
从这里:http://developers.facebook.com/docs/guides/mobile/#android
所以它说运行这个命令:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)
首先我必须下载openssl:OpenSSL
现在上面的命令,我假设应该转换为:
"C:\path\to\java\keytool" -exportcert -alias your_alias -keystore "C:\path\to\your\keystore\keystore.name" | "C:\path\to\openssl_install\bin\openssl" sha1 -binary |"C:\path\to\openssl_install\bin\openssl" base64
Run Code Online (Sandbox Code Playgroud)
所以一旦我完成了它,它会要求输入密码:(它显示密码,因为我正在输入密码)
如果我输入正确的密码,我会得到
'zR2tey1h9kqPRSW/yEYEr0ruswyD ='(公开更改)
但是,如果我输入的密码不正确,它仍会返回一个代码形式的代码
'ga0RGNYHvTR5d3SVDEfpQQAPGJ1 ='?
所以,是的,只是在寻找确认我正在做正确的事情,这是预期的输出
Min*_*amy 12
获取哈希的最佳方法是运行以下代码:
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 (NameNotFoundException e1) {
// TODO Auto-generated catch block
Log.e("name not found", e1.toString());
}
catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
Log.e("no such an algorithm", e.toString());
}
catch (Exception e){
Log.e("exception", e.toString());
}
Run Code Online (Sandbox Code Playgroud)
当使用windows cmd,git bash或cygwing终端提取哈希时,这三个工具会给出不同的结果.
最准确的是上面的代码
| 归档时间: |
|
| 查看次数: |
11230 次 |
| 最近记录: |