Подтвердить что ты не робот

Key hash для Android Android SDK

Я не могу понять, как получить Key Hash для использования Android Android SDK. Я понял, что могу использовать keytool с этими командами:

  keytool -exportcert -alias [alias]
 -keystore [keystore] | openssl sha1 -binary | openssl enc -a -e

Единственная проблема в том, что я понятия не имею, где ее вставить, я пробовал через окна команд (win7), и я попытался открыть файл keytool.exe.

4b9b3361

Ответ 1

  • Загрузите и установите OpenSSL из http://slproweb.com/products/Win32OpenSSL.html на основе окон 32 или 64 бит. (Примечание. Загрузите и установите первый визуальный С++ 208 redisributable с этого сайта также)
  • Поместите каталог bin установленного OpenSSL в путь к окну.
  • Откройте командную строку и перейдите к C:\Users {User_Name}.android
  • теперь поместите эту команду на cmd " keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl base64". (см. https://developers.facebook.com/docs/android/getting-started#samples)
  • Теперь введите пароль "facebook" без двойной кавычки.
  • Теперь будет создан хэш-ключ enter image description here
  • Наконец, зайдите на сайт разработчиков Facebook. Убедитесь, что вы вошли в Facebook и, используя раскрывающееся меню в правом верхнем углу, перейдите в "Настройки разработчика":
  • Как только вы находитесь в настройках своего разработчика, выберите "Пример приложения" из навигации слева и добавьте и сохраните хэш-код ключа в свой профиль: enter image description here

Ответ 2

Вы можете установить Open SSL из здесь, что должно заставить вашу команду работать

Ответ 3

Я создал пакетный script facebookkeydebug.bat, который возвращает желаемый хэш-код Facebook. Просто отредактируйте script, установите правильные пути, имя хранилища ключей и запустите его.

:: Getting Android key hash for Facebook app on Windows
:: Requirement: OpenSSL for Windows (http://code.google.com/p/openssl-for-windows/downloads/list)
:: Usage: set paths and run facebookkeydebug.bat

@echo Exporting keystore cert
keytool -exportcert -alias androiddebugkey -keystore C:\Users\myusername\.android\debug.keystore -storepass android -keypass android > debug.keystore.bin

@echo Converting to sha1
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl sha1 -binary debug.keystore.bin > debug.keystore.sha1

@echo Converting to base64
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1 -out debug.keystore.base64

@echo Done, Android hash key for Facebook app is:
C:\PROGRAMS\openssl-0.9.8k_X64\bin\openssl base64 -in debug.keystore.sha1
@pause

EDIT: я опубликовал репо с некоторыми пакетными скриптами для подписания и получения ключей сертификата в Windows: https://github.com/petrnohejl/Android-Scripts

Ответ 4

вы можете использовать код ниже, чтобы получить клавишу Hash:

try {

   PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), 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("name not found", e.toString());
  } catch (NoSuchAlgorithmException e) {
   Log.e("no such an algorithm", e.toString());
  }

Ссылка:

http://limbaniandroid.blogspot.com/2013/04/how-to-get-hash-key-for-integarte.html

Ответ 5

Сделать проще -

keytool.exe -list -alias androiddebugkey -keystore debug.keystore -v

это должно предоставить вам необходимые отпечатки пальцев, без хлопот установки openssl.

например.

Certificate fingerprints:
         MD5:  1A:5E:AA:CB:1A:CF:68:F0:8B:DA:D8:BC:EE:4F:BF:EE
         SHA1: D2:89:D1:5A:BC:F8:E3:E5:62:4D:DD:20:DD:96:CD:AB:51:A1:C1:7F
         Signature algorithm name: SHA1withRSA
         Version: 3

Ответ 6

Это пример того, как получить хэш ключа из хранилища ключей:

сначала нам нужно получить пути:

Путь Java: C:\Program Files\Java\jdk1.6.0_35\jre\bin

Открытый путь SSL: C:\OpenSSL-Win32\бин

(установите из: http://www.openssl.org/)

Путь к хранилищу: C:\Data\ANDROID\KeyStore\

2), перейдите в командную строку и введите:

cd [путь Java]

3), тогда введите:

keytool.exe -exportcert -alias [псевдоним] -keystore [Keystore Путь]\debug.keystore | [Open SSL Path]\openssl sha1 -binary | [Открыто SSL-путь]\bin\openssl base64

4) необходимо указать пароль вашего Keystore, а затем у вас есть Hash Key, связанный с вашим Keystore Android.

enter image description here

Это документ о том, как установить Key Hash для Facebook:

https://developers.facebook.com/docs/android/getting-started#release-key-hash

Ответ 7

Вам нужно открыть окно командной строки. Перейдите в start- > run и введите 'cmd' и нажмите enter. Затем вам нужно перейти в папку, в которой keytool (если она не указана в вашем пути), а затем введите эту команду.

То есть, считая, что команда предназначена для окон, а не для linux.

Ответ 8

Лучший способ - создать Key-Hash с помощью кода:

 public static void generateKeyHash(Context context) {
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(
                "com.example.user2.testapp",
                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 (PackageManager.NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }
}

вызовите этот метод один раз и создайте ключ-хеш, наслаждайтесь

Ответ 9

C:\Program Files\Java\jdk1.6.0_22\bin\keytool.exe -exportcert -alias "typeYouraliasname" -ечное хранилище вашего хранилища ключей | C:\OpenSSL-Win32\bin\openssl sha1 -binary | C:\OpenSSL-Win32\bin\openssl base64