Android的关键哈希
我正在开发一个Android应用,我想在其中集成Facebook发布功能。 我下载了Facebook-Android SDK,并且在那里获得了readme.md(文本文件),其中提到了为Android生成密钥散列。 我如何生成它?
这里是步骤 -
从谷歌代码下载openssl(如果你有一台64位的机器,你必须下载openssl-0.9.8e X64而不是最新版本)
提取它。 在C:/创建一个文件夹 - OpenSSL,并在这里复制提取的代码。
检测debug.keystore文件路径。 如果你没有找到,那么在C:/中进行搜索,然后在下一步中使用该命令中的路径。
检测您的keytool.exe路径,然后转到该命令提示符并在1行中运行此命令,
$ keytool -exportcert -alias androiddebugkey -keystore“C: Documents and Settings Administrator.android debug.keystore”| “C: OpenSSL bin openssl”sha1 -binary |“C: OpenSSL bin openssl”base64
欲了解更多信息请访问
您可以在任何活动中使用此代码。 它会将hashkey记录在调试密钥logcat中。 这很简单,而且比使用SSL更容易。
PackageInfo info;
try {
info = getPackageManager().getPackageInfo("com.you.name", 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));
//String something = new String(Base64.encodeBytes(md.digest()));
Log.e("hash key", something);
}
} catch (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());
}
知道密钥后,您可以删除代码;)
我为Windows和Mac OS X创建了一个小工具。只需输入密钥存储文件并获取散列键即可。
如果您需要默认的debug.keystore文件,请使用默认的别名和密码。 否则,请使用您自己的密钥库文件和值。
检查一下,下载Windows版本或下载Mac OS X版本(Dev-Host有时候可能会关闭......所以如果链接被破坏,PM我和我会修复它)。
我希望能帮助你们...
2014年12月31日 - 编辑:将主持人更改为AFH。 请让我知道,如果链接被破坏
2013年11月21日 - 编辑:
随着用户请求,我添加了一个默认密钥库位置和一个DONATE按钮。 如果我帮助过你,请随时使用它 。 :)
链接地址: http://www.djcxy.com/p/59625.html上一篇: Key hash for Android