Хэш-код Facebook не соответствует какому-либо сохраненному ключу

У меня действительно проблемы с ключом hashа Facebook. Я создал его в своем Eclipse .. доказательство:

Затем я отправился на https://developers.facebook.com/ и зарегистрировал новое приложение.

И, наконец, я установил свой hash в настройках разработчиков Facebook:

Но я ничего не делаю. Я продолжаю получать один и тот же журнал ошибок: «Ключ-hash B5dWUEYfZJL / ……….. jyA = не соответствует сохраненным hashам ключей»

Кто-нибудь знает, что я сделал не так, или как я могу решить эту проблему? Если я использовал id и имя из HelloFacebookSample внутри моего собственного приложения, все работает. Поэтому он должен делать с ключевым хешем, id или именем, которое я установил где-то наиболее вероятно.

Благодарю вас, Yenthe

    После нескольких часов попыток я наконец нашел решение.

    1. Удалите любое приложение на веб-сайте Facebook (developers.facebook.com)
    2. Удалите файл debug.keystore в папке C:\Users\yourUserName\.android
    3. Создайте новый ключ (снова запустите приложение)
    4. Создайте новое приложение на сайте developers.facebook.com и добавьте новый хеш-ключ
    5. Повторно запустите приложение
    6. Сукчес!

    Если ваш логин работает без установки приложения facebook и не работает, когда приложение facebook установлено из-за ошибки «hash-ключ не соответствует», выполните следующие шаги

    1) Запустите приложение и попробуйте войти в систему с помощью facebook. Откроется диалоговое окно и скажет: «Ключ не найден в консоли разработчика facebook, а также отображается hash-ключ.

    2) Запишите этот hash-ключ.

    3) Поместите его в консоль разработчика facebook, где вы сначала сгенерировали свой ключ api и удалили hash-ключ с новым и сохранили. Теперь все готово. Любой, загружающий ваше приложение, опубликованное с ранее используемым хранилищем ключей, может войти в facebook.

    Я столкнулся с подобной проблемой. Решение на удивление прост.

    Сообщение об ошибке выглядит следующим образом:

     07-05 ...... Invalid key hash. The key hash sL1***************VY= does not match any stored key hashes. Configure your app key hashes at http://developers.facebook.com/apps/150*******778 07-05 ...... at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:191) 

    Просто зайдите на https://developers.facebook.com , выберите вкладку «Настройки» и добавьте hash ключа «sL1 *************** VY =» в список сохраненных Основные hashи на панели Android.

    Я столкнулся с той же проблемой во время разработки и должен был получить хеш-ключ для тестирования совместного использования на facebook, и, решая это, я прошел пару вопросов

    1- команда facebook обеспечивает получение hash-ключа с помощью команды openSSL, не дает мне правильного hashа, который я получил, извлекая подпись из информации о пакете с кодом. получение hashа вторым способом было правильным.

    2- По какой-то причине в документации они сообщают вам перейти к настройкам разработчика и добавить хеш-ключ для «Sample App» там, я думал, что каждый hashkey для разработчика должен быть там, и это была моя ошибка, каждое приложение имеет собственное поле хеш-ключей для добавления, перейдите в свое приложение / настройки / андроид.

    введите описание изображения здесь

    хорошо, что это было .. и для записей я использовал openssl-0.9.8k_X64 для Windows 7 x64 бит, и он просто генерирует неправильный хеш. Я не знаю, почему

    Я использовал этот код для получения hashа:

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

    но будьте осторожны, чтобы это не могло также печатать в журналах правильный keyhash, по крайней мере на моем устройстве и машине, когда я его отлаживаю, в часах он показывает правильный hash непосредственно перед печатью журналов, но в журналах он показывает другой хеш и первая была правильной.

    в любом случае вы также можете использовать команду или затмение для просмотра шестнадцатеричной последовательности SHA для своего ключа и конвертировать ее в базу 64 в Интернете, есть сайты, которые могут помочь http://tomeko.net/online_tools/hex_to_base64.php?lang=en

    Удачи

    Добавление ключей SHA1 из Eclipse / keytool помогло мне только при создании приложения в FB, а затем после восстановления я всегда получал ошибку OP.

    Я решил, что проблема заключается в добавлении ключа в сообщение об ошибке к настройкам панели управления Facebook.

    У меня была эта проблема уже два месяца. Мое ключевое хеширование составило до 9. Сегодня я наконец нашел простое решение:

    ШАГ 1:

    Установите загружаемую вами фразу facebook, которую вы загрузили со страницы разработчика facebook на своем телефоне. Не устанавливайте обычное приложение facebook. Убедитесь, что вы можете войти в facebook. Затем выйдите из системы.

    ШАГ 2:

    Экспортируйте приложение с последним ключом релиза как apk, как если бы вы загрузили его в игровой магазин.

    ШАГ 3:

    Поместите файл Apk на свой телефон через USB-кабель или USB-палку.

    ШАГ 4:

    Установите приложение с помощью диспетчера файлов: например https://play.google.com/store/apps/details?id=com.rhmsoft.fm

    ШАГ 5:

    Запустите приложение и попробуйте войти в систему с помощью facebook. Откроется диалоговое окно и скажет: «ключ не найден в консоли разработчика facebook

    ШАГ 6:

    Запишите ключ.

    ШАГ 7:

    Поместите его в консоль разработчика facebook и сохраните. Теперь все готово. Любой, загружающий ваше приложение, опубликованное с ранее используемым хранилищем ключей, может войти в facebook.

    наслаждаться

    Он выглядит сумасшедшим, но он работает

    На самом деле проблема из-за вашей приватной учетной записи facebook получила это приложение, а hash-ключ этой учетной записи не сопоставим

    Но вы не должны сталкиваться с этой ошибкой с реальным пользователем. Но я не уверен

    В конце концов выполните следующий шаг:

    1. Перейдите на свою частную учетную запись facebook, в которую вы пытаетесь войти
    2. Затем нажмите «Дополнительно» в приложении dir

    введите описание изображения здесь

    1. Нажмите «Настройки»

    введите описание изображения здесь

    Затем нажмите крест

    введите описание изображения здесь

    И теперь вы можете войти в систему с помощью facebook. Но в следующий раз, если вы выйдете из системы и попытаетесь снова войти в систему, вы столкнулись с той же проблемой …

    Это тоже странно …

    Но я не возражаю, что в Facebook об этом не знают …

    1. Проверьте значение хеша ключа.
    2. Удалите приложение Facebook с телефона.
    3. Затем повторите попытку с помощью SDK.

    Это решило мою проблему.

    Это случай, который мог произойти, и что решило мою ошибку:

    В https://developers.facebook.com/quickstarts после запуска

    OSX / Linux:

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

    Окна:

     keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64 

    Когда Enter keystore password: спрашивается, что вы случайно набрали неверный пароль , пароль по умолчанию – « android ». Ввод любого другого пароля даст вам другой / неправильный хеш-ключ. Вставьте правильный hash-ключ в поле « Key Hashes на странице вашего приложения

    Это решило мою проблему, надеюсь, что это поможет тому, кто сделал эту конкретную ошибку, которую я сделал

    У меня та же проблема. Я обнаружил, что использовал неправильный hash. keytool напечатал неправильный hashkey, потому что я запускаю команду с неправильным псевдонимом.
    Проверьте свою команду еще раз. Это решит вашу проблему.

     keytool -exportcert -alias "test fb sdk" -storepass android -keypass android -keystore "C:\keystore.keystore" | openssl sha1 -binary | openssl base64 

    Использование хранилища ключей Debug, включая debug.keystore от android, присутствующие в папке .android, порождает странную проблему; вход в систему с использованием кнопки входа в facebook в приложении для Android будет выполняться совершенно по желанию в первый раз. Но когда когда-либо я вышел из системы и попытался войти в систему, это вызовет ошибку: «Это приложение не имеет настроенных hashей для Android. Перейдите по адресу http: // ….

    Создание Keystore с помощью команды keytool (keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -sigalg SHA1withRSA -keysize 2048 -validity 10000) и помещая это хранилище ключей в мои проекты, самую верхнюю родительскую папку и после входа в проекты build.gradle файл решил проблему:

      signingConfigs { release { storeFile file("my-release-key.keystore") storePassword "passpass" keyAlias "alias_name" keyPassword "passpass" } } 

    Обратите внимание, что вы всегда используете следующий метод внутри onCreate () вашей активности android, чтобы получить ключевое значение хеша (зарегистрироваться на сайте разработчика.facebook.com вашего приложения) вместо использования командной строки для генерации hash-значения в качестве командной строки в в некоторых случаях может возникнуть неправильный ключевой хеш:

      public void showHashKey(Context context) { try { PackageInfo info = context.getPackageManager().getPackageInfo("com.superreceptionist", PackageManager.GET_SIGNATURES); for (android.content.pm.Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT); Log.e("KeyHash:", sign); // Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show(); } Log.d("KeyHash:", "****------------***"); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } 

    У меня проблема с симуляцией. После подписания и публикации моего приложения в Google PlayStore кажется, что Хэш изменился. Я добавил новый Hash (как упоминалось) в Facebook, переданном в Хэш Хэша в моем приложении на developers.facebook.com/app//settings. Теперь он работает снова.

    Msgstr “Включен одиночный вход для вашего приложения”, поэтому он работает только один раз. пожалуйста, зайдите в developer.facebook и проверьте settings.it для меня.

    Проверьте свой google-services.json. Может быть, это другое. Загрузите последнюю версию google-services.json и запустите приложение. Надеюсь, поможет.

    Давайте будем гением компьютера.