我使用Window 7和android studio来构建我的应用程序。 我在facebook SSO中用于登录系统。我按照步骤 如下面的教程。
How to create Android Facebook Key Hash?
我将命令如下输入我的powershell
$ keytool -exportcert -alias androiddebugkey -keystore“C:\ Documents and Settings \ Administrator.android \ debug.keystore”| “C:\ OpenSSL \ bin \ openssl”sha1 -binary |“C:\ OpenSSL \ bin \ openssl”base64
然后powershell返回一个短于28个字符的哈希值,这是Facebook不接受的。
如何生成Facebook接受的密钥?
答案 0 :(得分:1)
当我提供无效的密钥库路径时,我遇到了同样的问题 - 没有错误消息,只是奇怪的八字符长字符串。切换到
的路径C:\Users\Username.android\debug.keystore
解决了我的问题。
答案 1 :(得分:0)
您需要使用以下代码生成的hashkey:
public static void printHashKey(Context pContext) {
try {
PackageInfo info = getPackageInfo(pContext, PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String hashKey = new String(Base64.encode(md.digest(), 0));
Log.i(TAG, "printHashKey() Hash Key: " + hashKey);
}
} catch (NoSuchAlgorithmException e) {
Log.e(TAG, "printHashKey()", e);
} catch (Exception e) {
Log.e(TAG, "printHashKey()", e);
}
}
答案 2 :(得分:0)
当我使用openssl-0.9.8k_WIN32.zip,只生成TenDigitHash ==然后我返回使用openssl-0.9.8e_WIN32.zip时,它发生在我身上,因此它按预期生成了哈希。我使用的是windows32bit