Я работаю над приложением для Android, в которое хочу интегрировать функцию публикации в Facebook. Я скачал Facebook-Android SDK и получил там readme.md (текстовый файл), в котором упоминается, что он генерирует хэш ключа для Android. Как мне это сгенерировать?
229
Ответы:
Вот шаги
Загрузите openssl из кода Google (если у вас 64-битная машина, вы должны загрузить openssl-0.9.8e X64 не последнюю версию)
Извлеките это. создайте папку - OpenSSL в C: / и скопируйте извлеченный код здесь.
определить путь к файлу debug.keystore. Если вы не нашли, то выполните поиск в C: / и используйте путь в команде на следующем шаге.
определите путь к файлу keytool.exe и перейдите в командную строку этого каталога / dir и выполните эту команду в 1 строке
Для получения дополнительной информации посетите здесь
источник
$
.[РЕДАКТИРОВАТЬ 2020] -> Теперь я полностью рекомендую ответ здесь , гораздо проще с помощью Android Studio, быстрее и не нужно писать какой-либо код - приведенный ниже был в дни затмения :) -.
Вы можете использовать этот код в любой деятельности. Он будет регистрировать хеш-ключ в logcat, который является ключом отладки. Это легко, и это облегчение, чем использование SSL.
Вы можете удалить код, узнав ключ;)
источник
keytool
команду, я получал неправильные ключевые хэши (я понятия не имею, почему, решил, что мне было все равно, чтобы исследовать). Это сработало, и буквально потребовалось 5 минут, чтобы получить ключи отладки и отладки. +1Я создал небольшой инструмент для Windows и Mac OS X. Просто добавьте файл хранилища ключей и получите ключ хеша.
Если вам нужен файл debug.keystore по умолчанию, используйте псевдоним и пароль по умолчанию. Иначе, используйте свой собственный файл хранилища ключей и значения.
Проверьте это, загрузите версию для Windows или загрузите версию для Mac OS X (Dev-Host иногда может быть недоступен ... поэтому, если ссылка не работает, напишите мне в личку, и я исправлю это).
Надеюсь, это поможет вам, ребята ...
31 декабря 2014 г. - РЕДАКТИРОВАТЬ: Изменен хост на AFH. Пожалуйста, дайте мне знать, если ссылки не работают
21 ноября 2013 г. - РЕДАКТИРОВАТЬ:
По запросу пользователей, я добавил расположение хранилища ключей по умолчанию и кнопку «ПОЖАЛУЙСТА». Не стесняйтесь использовать его, если я помог вам. :)
источник
keytool
командной строкой? Разве он не должен давать идентичные результаты, если применяется к одному и тому же файлу хранилища ключей?Инструкции, которые в настоящее время содержатся в учебнике по Android для Facebook, не очень хорошо работают под Windows . В их примере показано, как передать вывод keytool в openssl, но если вы попробуете это под Windows, то вывод по какой-то причине недопустим. Я обнаружил, что мне пришлось использовать промежуточные файлы, чтобы заставить его работать должным образом. Вот шаги, которые работали для меня:
Начните с загрузки openssl для Windows из Google.
После выполнения этих команд действительный хэш сохраняется в файле base64.txt. Скопируйте и вставьте это в настройки своего приложения на Facebook.
источник
Вот что дано на официальной странице Facebook :
Позвольте мне разбить эту команду на фрагменты.
Ищите
"keytool.exe"
. Вы можете искать это на диске C :. Вы можете найти это в"java jdk"
или"java jre"
. Если вы установили несколько версий, выберите любую.Откройте подсказку CMD и перейдите в каталог выше, где вы нашли
"keytool.exe"
.Кликните «exe`» и вставьте указанную выше команду, представленную на странице Facebook.
При вводе этого сообщения вы получите сообщение об ошибке, что OpenSSL не распознается как команда ввода-вывода Решение: Загрузите Openssl из OpenSSL (если у вас 64-битная машина, вы должны загрузить openssl-0.9.8e X64 ). Распакуйте и сохраните в любом месте ... Я сохранил его на диске C: в
OpenSSl
папкеЗамените openssl в приведенной выше команде, в которой вы получили ошибку OpenSSL, на «C: \ OpenSSL \ bin \ openssl» в обоих местах после канала, «|».
Если будет предложено ввести пароль, введите
android
.И вы получите свой ключ хеша. Для дальнейших шагов, обратитесь к странице Facebook.
источник
Добавьте этот код к
onCreate
своей деятельности, он напечатает хеш под тегом KeyHash в вашем logCatВы можете добавить несколько хеш-ключей для своей учетной записи, поэтому, если вы работали в режиме отладки , не забудьте запустить это снова в режиме выпуска .
источник
Чтобы получить хэш-код ключа Android, выполните следующие действия:
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\
ваше имя пользователя\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
источник
myKeyStore
путь к своему ключу освобождения. Приведенный выше код предназначен для ключа отладкиСамое простое решение, которое я нашел, это:
Найдите в журнале строку, которая выглядит следующим образом:
Скопируйте «abcdefgHIJKLMN + OPqrstuvwzyz» и вставьте его в область «Хэш-ключ» Facebook Android.
источник
KeyHash: XWwXXXXX/5xxxxxxxxxxx=
в журнале и помог мне!Вы можете получить хеш ключа от ключа SHA-1. Это очень просто, вам нужно получить ключ SHA-1 (подписанный APK) в магазине Play, проверьте изображение ниже.
Теперь скопируйте этот ключ SHA-1 и вставьте его на этом веб-сайте http://tomeko.net, а также проверьте изображение ниже, чтобы получить ключ-хэш.
источник
Я сделал по этому пути для ОС Linux и ОС Windows :
Linux:
keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64
Пожалуйста, измените имя псевдонима и хранилище ключей, указав путь к нему в соответствии с вашими требованиями.
Терминал будет просить для пароля хранилища ключей. Вы должны предоставить пароль для того же хранилища ключей .
Итак, наконец, вы получите Release Hashkey .
Окна:
Шаги для выпуска Hashkey :
keytool -exportcert -alias **myaliasname** -keystore **"C:\Users\hiren.patel\Desktop\mykeystore.jks"** | "C:\openssl-0.9.8e_X64\bin\openssl.exe" sha1 -binary | "C:\openssl-0.9.8e_X64\bin\openssl.exe" base64
Пожалуйста, измените имя псевдонима и хранилище ключей, указав путь к нему в соответствии с вашими требованиями.
Примечание:
Пожалуйста, оставьте свои данные там, где я отметил ** **.Терминал будет просить для пароля хранилища ключей. Вы должны предоставить пароль для того же хранилища ключей .
Итак, наконец, вы получите Release Hashkey .
Готово
источник
скачать OpenSSL для Windows здесь вы можете найти 64-битные и 32-битные здесь
извлечь загруженный файл
источник
android
дает 24-значный хэш, а наборa
дает 28-значный хэш. Понятия не имею почему!Вам необходимо создать хранилище ключей с помощью keytool для подписанных приложений для Android, как описано в разделе « Сайт Android», затем установить Cygwin, а затем установить openssl из кода Google. затем просто выполнить следующую команду, и вы получите хеш ключ для Android, а затем вставьте этот хэш-ключ в приложение Facebook, которое вы создали. И тогда вы можете получить доступ к приложению facebook через приложение Android для публикации стены (например, «publish_stream»).
$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binary | openssl base64
Вам необходимо выполнить приведенную выше команду из Cygwin.
источник
Загрузите openSSL -> Установите его -> обычно он устанавливается в C: \ OpenSSL
затем откройте cmd и введите
чтобы проверить версию jdk, перейдите в C: / program files / java / jdk_version
Он попросит вас ввести пароль для Android.
источник
Просто откройте ваш основной файл активности и создайте функцию, упомянутую ниже:
1.1 Запустите ваше приложение, это сгенерирует хеш-ключ для вашего приложения.
Теперь откройте журнал cat и выполните поиск с помощью «KeyHash» и скопируйте ключ хеша.
Сгенерировав ключ Hash, вы можете удалить эту функцию.
источник
1) Создайте ключ для подписи вашего приложения и запомните псевдоним.
2) Установите OpenSSL.
3) Поместите папку bin OpenSSL на ваш путь.
4) Выполните действия, указанные в разделе «Настройка единого входа» в FB-Android-SDK. странице , и сгенерируйте свой хэш-ключ. Убедитесь, что вы правильно указали псевдоним и имя файла хранилища ключей.
5) Создайте приложение в Facebok и на вкладке «Мобильные устройства» введите этот хэш-ключ.
источник
Официальная документация на сайте разработчика Facebook :
источник
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
и я все еще получаю, что хеш-код ключа не соответствует ни одному из сохраненных хеш-ключейЭто сработало для меня ...
шаги:
источник
Для Linux
Открытый терминал:
Для отладки сборки
вы найдете debug.keystore из папки ".android", скопируйте его и вставьте на рабочий стол и выполните команду выше
Для выпуска Build
ПРИМЕЧАНИЕ. Убедитесь, что в обоих случаях требуется запрос пароля. Если он не запрашивает пароль, значит, что-то не так в команде.
источник
Для приложения Android
Этот код используется для получения хеш-ключа в вашем приложении Android для интеграции с Facebook. Я проверил все устройства, и это работает. Измените только имя пакета этого кода:
источник
В ответ на похожую проблему я обнаружил, что это работает для меня:
apkname.apk
файл, который вы хотите знать хеш, в ' Java \ jdk1.7.0_79 \ bin папку »keytool -list -printcert -jarfile apkname.apk
SHA1
значение и конвертируйте его, используя этот сайтисточник
Самое простое решение:
источник
Чтобы создать хэш ключа разблокировки, выполните следующую команду на Mac или Windows, заменив псевдоним ключа разблокировки и путь к хранилищу ключей.
В Windows используйте:
Эта команда должна генерировать строку из 28 символов. Помните, что КОПИРУЙТЕ и ВСТАВЛЯЙТЕ этот хэш-ключ релиза в настройки Android вашего идентификатора приложения Facebook.
image: fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png
См. Https://developers.facebook.com/docs/android/getting-started#release-key-hash и http://note.taable.com.
источник
Используйте это для печати ключа хэша в kotlin
источник
Решил мой тоже в Android Studio, но с немного другим подходом.
Получить значение SHA-1 в Android Studio.
Значение SHA-1 выглядит следующим образом: CD: A1: EA: A3: 5C: 5C: 68: FB: FA: 0A: 6B: E5: 5A: 72: 64: DD: 26: 8D: 44: 84
и откройте http://tomeko.net/online_tools/hex_to_base64.php, чтобы преобразовать значение SHA1 в base64. Это то, что Facebook требует, чтобы получить сгенерированный хеш "******************** =" и скопировать ключ хеша в консоль приложения facebook.
Часть этого ответа взята отсюда Github Link
источник
Существует два метода: сложный и простой.
Методы первый: (немного сложный)
Прежде всего, вам нужно скачать ssl
64bit
или,32bit
соответственно, не забудьте скачать файл с именем, содержащимe
после кода версии openssl-0.9.8e_X64.zip ИЛИ openssl-0.9.8e_WIN32.zip не сk
кодом после версии,и поместите в каталог AndroidStudio / jre / bin, если вы не знаете, где разместить, вы можете найти этот каталог, щелкнув правой кнопкой мыши на ярлыке Android Studio как:
Теперь вы умудрились два необходимых вещей в одном месте, но все же вы должны найти путь для вашего
debug.keystore
, что всегда можно найти в"C:\Users\yourusernamehere\.android\debug.keystore"
,Поскольку все настроено, давайте расположим команду, которую вы хотели выполнить для генерации хеш-ключа
base64 format
, и ваша команда будет выглядеть таквам будет предложено ввести пароль для магазина debug.keystore, который по умолчанию является Android. если вы используете свой собственный ключ, тогда пароль будет и вашим. результат будет выглядеть так, если все пойдет хорошо, как и ожидалось, надеюсь, это поможет
Второй метод (соответственно легкий)
если вы не хотите проходить через все вышеперечисленные процедуры, просто используйте следующий метод для регистрации haskey:
вывод:
источник
Наилучший подход - использовать следующий код:
Но я был так расстроен тем фактом, что не существует простого инструмента для генерации HashKey для приложения Facebook. Каждый раз мне приходилось играть с Openssl и Keytool или использовать код, чтобы получить хэш из подписи ...
Поэтому я написал простой KeyGenTool, который сделает эту работу за вас: -> KeyGenTool в Google Play <-
Наслаждаться :)
источник
Я сделал небольшую ошибку, которую следует иметь в виду. Если вы используете хранилище ключей, тогда дайте свое псевдоним, а не androiddebugkey ...
Я решил свою проблему. Теперь, если на моем устройстве установлен Facebook, тогда мое приложение получает данные об интеграции входа в Facebook. Просто заботьтесь только о своем хэш-ключе.
Пожалуйста, смотрите ниже.
Затем нажмите Enter- он попросит вас ввести пароль, а затем введите пароль хранилища ключей, а не Android.
Прохладно.
источник
источник
Kotlin код для получения ключа Hash
Пожалуйста, не забывайте генерировать ключи в среде Debug и Release, так как они меняются в соответствии с настройкой сборки.
источник
попробуй это :
1) получить ключ хеша из командной строки (Официальный документ: https://developers.facebook.com/docs/android/getting-started )
ИЛИ
2) получить ключ хеша с помощью кода
источник