Я столкнулся с той же проблемой во время разработки, и мне нужно было получить хэш-ключ для тестирования обмена на Facebook, и при решении этой проблемы я столкнулся с несколькими проблемами.
1- команда facebook для получения хеш-ключа с помощью команды openSSL не дала мне правильный хэш, который я получил, извлекая подпись из информации о пакете с кодом. получение хеша вторым способом было правильным.
2- По какой-то причине в документации они говорят вам перейти в настройки разработчика и добавить туда хеш-ключ для «Образца приложения», я думал, что каждый хеш-ключ для разработчика должен быть там, и это была моя ошибка, у каждого приложения есть свой собственное поле хэш-ключей для добавления, перейдите в ваше приложение/настройки/android.
![введите здесь описание изображения](https://i.stack.imgur.com/R7ygu.png)
ну вот и все.. и для записей я использовал openssl-0.9.8k_X64 на 64-разрядной Windows 7, и он просто генерирует неправильный хеш, я не знаю, почему
Я использовал этот код для получения хэша:
private void printKeyHash() {
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo("YOUR PACKAGE NAME", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
Log.e("KeyHash:", e.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("KeyHash:", e.toString());
}
}
но будьте осторожны, что это может также не печатать в журналах правильный хеш-ключ, по крайней мере, на моем устройстве и машине, когда я его отлаживаю, в часах он показывает правильный хэш непосредственно перед печатью журналов, но в журналах он показывает другой хэш и первый был правильным.
в любом случае вы также можете использовать команду или eclipse для просмотра шестнадцатеричной последовательности SHA для вашего ключа и преобразования ее в базу 64 онлайн, есть веб-сайты, которые могут помочь http://tomeko.net/online_tools/hex_to_base64.php?lang=en
Удачи
person
Bashar Ali Labadi
schedule
04.12.2014