gpt4 book ai didi

java - 带有 Android Facebook SDK 的 key 工具

转载 作者:太空狗 更新时间:2023-10-29 22:56:26 25 4
gpt4 key购买 nike

我只是想要一些确认。

我在windows上开发

我正在尝试将 facebook 集成到应用程序中,SDK 文档说我需要“导出签名”

来自这里:http://developers.facebook.com/docs/guides/mobile/#android

所以它说运行这个命令:

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

首先我必须下载 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
  • 所以您想要安装在最新 Java 安装文件夹中的 key 工具?
  • 您希望别名是您在 eclipse 中用于创建普通 apk 的别名吗?
  • 您希望 keystore 成为您在导出 Android 应用程序时使用的 keystore 吗?
  • 您希望 openssl 成为您刚刚安装的那个

因此,一旦我完成此操作,它就会要求输入密码:(它会在我输入时显示密码)

如果我输入正确的密码,我会得到

'zR2tey1h9kqPRSW/yEYEr0ruswyD=' (changed for public)

但是如果我输入了错误的密码,它仍然会以

的形式返回给我一个代码

'ga0RGNYHvTR5d3SVDEfpQQAPGJ1='?

是的,我只是想确认我做的是对的,这是预期的输出

最佳答案

获取哈希的最佳方法是运行以下代码:

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());
}

用windows cmd、git bash或cygwing终端提取hash时,三种工具给出不同的结果。

最准确的是上面的代码

关于java - 带有 Android Facebook SDK 的 key 工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6484561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com