Як створити Android Facebook Key Hash?


182

Я взагалі не розумію цього процесу. Мені вдалося перейти до папки, що містить ключовий інструмент у Java SDK. Хоча я продовжую отримувати помилку openssl не розпізнається як внутрішня чи зовнішня команда. Проблема навіть у тому, якщо я можу змусити це працювати, що б я робив і з чим потім?


якщо ви використовуєте найновіший facebook sdk і якщо ви прекрасно помістили свій facebook api, тоді при вході ви натискаєте на логін у facebook, тоді у вашій реєстраційній системі друкується хеш-ключ ..
Mehul Ranpara

щоб генерувати ваш хеш-ключ на локальному комп’ютері, запустіть утиліту Keytool Java (яка повинна бути на шляху вашої консолі) проти магазину налагодження Android. Це за замовчуванням у вашому домашньому каталозі .android). В ОС X запустіть: keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore | openssl sha1 -бінарний | openssl base64 У Windows використовуйте: - keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% \. android \ debug.keystore | openssl sha1 -бінарний | openssl base64
Ракеш

Чому хтось хоче створити ключ налагодження?
Anders Lindén

Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва

Відповіді:


242

Ось що вам потрібно зробити -

Завантажте openSSl з Code Extract it. створіть папку - OpenSSL в C: / і скопіюйте тут витягнутий код.

виявити шлях до файлу debug.keystore. Якщо ви не знайшли, виконайте пошук у C: / і в наступному кроці використовуйте команду Path.

виявіть ваш keytool.exe шлях та перейдіть до цього командного рядка dir / in та виконайте цю команду в 1 рядку-

$ keytool -exportcert -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary |"C:\OpenSSL\bin\openssl" base64

він попросить пароль, поставить android, що все. Ви отримаєте хеш-ключ


коли він запитує пароль, чи можу я поставити все, що я хочу?
Сомк

5
@Max, пароль за замовчуванням - android.
Джамапаг

2
ключ хешу не відповідає жодному збереженому хешу ключів андроїд, не працює
Boldijar Paul

1
Спочатку створіть сховище ключів, перейшовши на Build -> Build Apk зі своєї студії. введіть ім’я та пароль тощо. Зберігайте їх у форматі .jks у легкодоступній папці. Тепер скопіюйте шлях та згенеруйте ключ, замінивши цей шлях у вищезгаданій відповіді.
баггіроїд

1
Він показує мені помилку: "... Вирази дозволені лише як перший елемент конвеєра. У рядку: 1 char: 184 ... Неочікуваний маркер" sha1 "у виразі чи вислові. ... Вирази дозволені лише як перший елемент конвеєра. ... Несподіваний маркер 'base64' у виразі чи вислові. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: ExpressionsMustBeFirstInPipeline "
розробник android

175

Для Linux та Mac

Відкритий термінал:

Для налагодження налагодження

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

Ви знайдете debug.keystore в папці ".android". Скопіюйте його та вставте на робочий стіл та виконайте вищевказану команду.

Для випуску Build

keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath> | openssl sha1 -binary | openssl base64

ПРИМІТКА. Переконайтеся, що в обох випадках він запитує пароль. Якщо він не запитує пароль, це означає, що в команді щось не так. Пароль для debug.keystore - " android ", і для випуску вам потрібно ввести пароль, який ви встановили під час створення keystore .


3
Щоб було зрозуміло, пароль порожній. Просто натисніть <enter>, коли буде запропоновано.
Том Редман

Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва

1
Ця примітка: "ПРИМІТКА. Переконайтеся, що в обох випадках він запитує пароль. Якщо він не запитує пароль, це означає, що в команді щось не так." було важливо для вирішення проблеми
Bleno Silva

дякую, що врятували мені життя. я весь час вводячи свій пароль для пароля для зберігання ключів, і я зрозумів, що це неправильно
Lucky Angelo

1
Навіть запитувати пароль не означає, що все в порядку (неправильний пароль, неправильний псевдонім ключа). keytool -exportcert -alias <aliasName> -keystore <keystoreFilePath>Спочатку біжіть поодинці, щоб побачити, чи все в порядку. Плюс до цього, Keytool перебуває в неінтерактивному режимі та показує пароль у простому тексті, коли ви вводите його. Тож вам краще написати невеликий сценарій, який виконує команди окремо.
П’єр

98

Спробуйте:

public static void printHashKey(Context pContext) {
        try {
            PackageInfo info = pContext.getPackageManager().getPackageInfo(pContext.getPackageName(), 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);
        }
    }

Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва


1
Це працює, якщо ви телефонуєте pContext.getPackageInfo. Або просто видаліть його з функції та зателефонуйте в onCreate будь-якої діяльності.
Dpedrinha

1
Зараз, здається, це getPackageManager (). GetPackageInfo ([ваше-ім'я_пакету], PackageManager.GET_SIGNATURES)
до

@Apurva Ви можете розмістити його в Android SharedPreferences у разі, якщо ви будете мати можливість його використовувати згодом.
Меді

49

OpenSSL: Ви повинні встановити це, якщо воно не встановлено з вашою операційною системою (наприклад, Windows не має його попередньо встановлено) . Як встановити це залежить від вашої ОС (для Windows перевірте посилання, яке надає coder_For_Life22).

Найпростіший спосіб, не обмінюючись, - це скопіювати файл, який відкриває bsb.exe у свій шлях до keytool, якщо ви перебуваєте в Windows. Якщо ви не хочете цього робити, вам доведеться додати його до PATHзмінної середовища. Потім виконайте команду, надану в документах.

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

Зауважте, що аргумент після -keystoreвказує на вашу налагоджувальну сховище. Це місце також залежить від вашої операційної системи. Потрібно бути в одному з наступних місць:

  • Windows Vista або 7 - C: \ Користувачі \ .android \ debug.keystore
  • Windows XP - C: \ Документи та налаштування \ .android \ debug.keystore
  • OS X та Linux - ~ / .android / debug.keystore

Якщо ви все зробили правильно, вам буде запропоновано пароль. Це androidдля сертифіката налагодження. Якщо пароль правильний, консоль друкує хеш (дещо випадкові символи та числа).

Візьміть це і скопіюйте його в android key hashполе всередині налаштувань вашої програми у facebook. Щоб потрапити туди, перейдіть на сторінку developers.facebook.com/apps , виберіть додаток, перейдіть до Edit settingsта прокрутіть униз. Після цього зачекайте кілька хвилин, поки зміни набудуть чинності.


Я запустив це у cmd, і він виводить дуже довгий список символів, схожий на хеш, що закінчується знаком =, тоді нічого $ keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ .android \ debug.keystore" | "C: \ OpenSSL \ Bin \ OpenSSL" sha1 -binary | "C: \ OpenSSL \ Bin \ OpenSSL" base64
СОМК

Звучить правильно. Щойно тестував його на моїй машині, для мене було 28 годин, лише для того, щоб дати тобі уявлення. Тепер просто скопіюйте це, і ви все в порядку. :)

Мені не було запропоновано використовувати Pharse android, хоча. Вибачте, що я повільний?
Сомк

Якщо чесно кажучи, я не впевнений, чому вам не запропонували цього. Але мені це звучить правильно. Я маю на увазі, якщо ви зробили щось не так, натомість повинно бути повідомлення про помилку. Просто скопіюйте його і подивіться, чи працює він. Ви можете перевірити деякі запити графів за допомогою Провідника Graph API . Виберіть додаток у верхній частині і подивіться, чи отримаєте ви дійсні результати. Він повинен виплюнути помилку, якщо щось не так. Редагувати: І нічого поганого в тому, що беріть повільно. Ми не поспішаємо. :)

24

щоб генерувати ваш хеш-ключ на локальному комп’ютері, запустіть утиліту Keytool Java (яка повинна бути на шляху вашої консолі) проти магазину налагодження Android. Це за замовчуванням у вашому домашньому каталозі .android). В ОС X запустіть:

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

У Windows використовуйте: -

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

сподіваюся, що це вам допоможе

Ref - веб-сайт розробника


Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва

19

Ви можете просто використовувати один рядок javascript у консолі браузера, щоб перетворити шістнадцятковий ключ карти в base64. Відкрийте консоль в останній версії браузера (F12 на вікнах) і вставте код і замінити SHA-1, SHA-256шестигранну карту, Google Play забезпечує при Release Managment> App signing:

> btoa('a7:77:d9:20:c8:01:dd:fa:2c:3b:db:b2:ef:c5:5a:1d:ae:f7:28:6f'.split(':').map(hc => String.fromCharCode(parseInt(hc, 16))).join(''))
< "p3fZIMgB3fosO9uy78VaHa73KG8="

1
Ви рятувальник, спасибі
Юсуф Адеемо,

SHA-1 був таким.
Траво

19

Ось повна інформація (для Windows)

1. Завантажте OpenSSl 3-го чи 4-го (з e працюватиме краще) на основі вашої системи 32-бітної або 64-бітової.

2. Витягніть завантажений zip всередині каталогу C

3. Відкрийте витягнуту папку до бін та скопіюйте шлях, це має бути щось на зразок C:\openssl-0.9.8k_X64\bin\openssl (додати \ openssl наприкінці)

4. (Знайдіть шлях до папки Bin Jdk, якщо ви знаєте як, ігноруйте це).

Відкрийте android studio ~ файл ~ Структура проекту (ctrl + alt + shift + s), виберіть розташування SDK на лівій бічній панелі, скопіюйте JDK-місце та додайте до нього / bin

Тож остаточне місце розташування JDK буде таким C:\Program Files\Android\Android Studio\jre\bin

ми дотримуємось цього методу для отримання місця розташування Jdk, оскільки ви можете використовувати вбудований jdk, як я

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

тепер у вас є розташування OpenSSl та JDK

5. Тепер нам потрібне місце налагодження зберігання ключів, для цього відкрийте C ~> Користувачі ~> YourUserName ~> .android має бути ім'я файлу debug.keystore, тепер скопіюйте розташування шляху, це повинно бути щось на зразок

C:\Users\Redman\.android\debug.keystore

6. тепер відкрийте командний рядок і введіть команду

cd YourJDKLocationFromStep4  

в моєму випадку

 cd "C:\Program Files\Android\Android Studio\jre\bin"

7. тепер побудуйте таку команду

keytool -exportcert -alias androiddebugkey -keystore YOURKEYSTORELOCATION | YOUROPENSSLLOCATION sha1 -binary | YOUROPENSSLLOCATION base64

в моєму випадку команда буде виглядати так

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Redman\.android\debug.keystore" | "C:\openssl-0.9.8k_X64\bin\openssl" sha1 -binary | "C:\openssl-0.9.8k_X64\bin\openssl" base64

тепер введіть цю команду в командному рядку, якщо ви все зробили правильно, вас попросять пароль (пароль - android)

Enter keystore password:  android

ось це, вам дадуть ключ-хеш, просто скопіюйте його та скористайтеся ним

Для підписаного KeyHash побудуйте наступну команду

keytool -exportcert -alias YOUR_ALIAS_FOR_JKS -keystore YOUR_JKS_LOCATION | YOUROPENSSLLOCATION sha1 -binary | YOUROPENSSLLOCATION base64

введіть пароль для зберігання ключів, якщо ви введете неправильний пароль, він дасть неправильний KeyHash

ПРИМІТКА

Якщо з якоїсь причини, якщо вона дає помилку на якомусь шляху, то оберніть цей шлях у подвійних лапках. Так само оболонка живлення Windows не працювала для мене добре, я використав git bash (або скористайтеся командним рядком).

приклад

keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Redman\.android\debug.keystore" | "C:\openssl-0.9.8k_X64\bin\openssl" sha1 -binary | "C:\openssl-0.9.8k_X64\bin\openssl" base64

1
Дуже дякую, це дуже докладний посібник для початківців!
Pablo Quemé

@TamimProduction спробуйте таку саму вище процедуру з k версією openssl та перегляньте code.google.com/archive/p/openssl-for-windows/downloads
Manohar Reddy

@TamimProduction, якщо ви введете неправильний пароль, він поверне неправильний ключ. ви також створили apk знову після видалення keystore?
Манохар Редді,

@TamimProduction завантажте та встановіть додаток Facebook, увійдіть у програму facebook. відкрийте додаток і зробіть вхід у facebook. Він дасть вам ключовий хеш у програмі facebook, перевірте, чи він такий, як ваш
Manohar Reddy,


16

Є і коротке рішення. Просто запустіть це у своєму додатку:

FacebookSdk.sdkInitialize(getApplicationContext());
Log.d("AppLog", "key:" + FacebookSdk.getApplicationSignature(this));

Більш тривалий, якому не потрібен SD SDK FB (на основі рішення тут ):

public static void printHashKey(Context context) {
    try {
        final PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
        for (android.content.pm.Signature signature : info.signatures) {
            final MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            final String hashKey = new String(Base64.encode(md.digest(), 0));
            Log.i("AppLog", "key:" + hashKey + "=");
        }
    } catch (Exception e) {
        Log.e("AppLog", "error:", e);
    }
}

Результат повинен закінчуватися на "=".


1
Я помітив, що в моєму ключовому хеші є "_", яке заборонено FB. Щоб використовувати хеш, мені довелося змінити його на '/'.
Абделалим Хассуна

Функція Facebook повернула мій ключ, оскільки -AAAAAAAA_AAAAAA-AAAAAAAAAAце заборонено Facebook, printHashKey повернув ключ у правильному форматі+AAAAAAAA/AAAAAA+AAAAAAAAAA=
GrafOrlov

@GrafOrlov Як не дивно. Можливо, вони мають помилку в якійсь новій версії FB SDK. Ви повинні повідомити про це їм.
андроїд розробник

9

Для Windows:

  1. відкрити командний рядок і вставити нижче команди

keytool -exportcert -alias androiddebugkey -keystore% HOMEPATH% .android \ debug.keystore | openssl sha1 -бінарний | openssl base64

  1. Введіть пароль: android -> Натисніть Enter

  2. Скопіюйте створений ключ Hash -> Увійдіть у Facebook за допомогою свого облікового запису розробника

  3. Перейдіть у свій додаток Facebook -> Налаштування -> Клавіша "Вставити хеш" в опції "клавіші хешей" -> збережіть зміни.

  4. Тепер протестуйте додаток для Android за допомогою входу в систему / поділитися Facebook тощо.


Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва

Привіт, я можу генерувати хеш-ключ за допомогою коду у своїй основній діяльності, але генерований хеш-ключ працює лише на одному пристрої. Коли я встановлюю той же apk на інший пристрій і запускаю, що він показує недійсну помилку хеш-ключа. Чи є щось, чого мені не вистачає.
Діпак

8

Оскільки API 26, ви можете генерувати свої HASH KEYS, використовуючи наступний код у KOTLIN, без потреби SDK Facebook.

fun generateSSHKey(context: Context){
    try {
        val info = context.packageManager.getPackageInfo(context.packageName, PackageManager.GET_SIGNATURES)
        for (signature in info.signatures) {
            val md = MessageDigest.getInstance("SHA")
            md.update(signature.toByteArray())
            val hashKey = String(Base64.getEncoder().encode(md.digest()))
            Log.i("AppLog", "key:$hashKey=")
        }
    } catch (e: Exception) {
        Log.e("AppLog", "error:", e)
    }

}

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


Ти маєш на увазі, що я розміщую ваш код class MainActivity: FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } }
asdfasdf

6

Ось як я отримав своє:

private class SessionStatusCallback implements Session.StatusCallback {
        @Override
        public void call(Session session, SessionState state, Exception exception) {

            if (exception != null) {
                new AlertDialog.Builder(FriendActivity.this)
                        .setTitle(R.string.login_failed_dialog_title)
                        .setMessage(exception.getMessage())
                        .setPositiveButton(R.string.ok_button, null)
                        .show();
            }

Отже, коли ви намагаєтесь ввести без ключа, станеться виняток. Facebook поставив клавішу ПРАВО в цей виняток. Все, що вам потрібно зробити - це скопіювати його.


Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва

6

Якщо ви вже завантажили додаток у магазин Play, ви можете створити Hash Key наступним чином:

1) Перейдіть до управління випусками тут

2) Виберіть Управління випусками -> Підписання програми

3) Ви можете побачити ключ SHA1 у шестигранному форматі Сертифікат підписання програми.


4) Скопіюйте SHA1 у шістнадцятковий формат та перетворіть його у формат base64, ви можете скористатись цим посиланням. Без цього SHA1: частина шістнадцяткової.


5) Перейдіть до консолі розробника Facebook і додайте ключ (після перетворення на базу 64) у налаштуваннях -> базовий -> хеши ключів.



3

Завантажити відкритий ssl :

Потім додайте openssl \ bin до змінних системи шляху:

Мій комп'ютер -> властивості -> Розширені конфігурації -> Розширений -> Змінні системи -> під системними змінними знайдіть шлях і додайте це до його закінчень:; yourFullOpenSSLDir \ bin

Тепер відкрийте командний рядок у папці jdk \ bin C: \ Program Files \ Java \ jdk1.8.0_40 \ bin (у вікні утримуйте зсув і клацніть правою кнопкою миші -> відкрийте командний рядок тут) та використовуйте:

keytool -exportcert -alias keystorealias -keystore C:\yourkeystore\folder\keystore.jks | openssl sha1 -binary | openssl base64

І скопіюйте 28 генерований номер, який він генерує після введення пароля.


Я не бачив, що в оригінальній відповіді вже є посилання openssl. Але його все ще корисно для системної змінної.
sagits

Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва

Звичайно, ви впевнені, що ви створили число довжини 28? Якщо це так, тепер вам потрібно зайти на сайт розробника facebook (пошук в google) і створити нову програму, в налаштуваннях ви можете додати нову програму Android, там ви вставите свій ключ-ключ і ім’я своєї діяльності (де розміщений код для входу ). Підручник з цього приводу є і у facebook
стріляє

Дякую за швидку відповідь, я спробую невдовзі
Апурва

3

Виконайте це або у своєму додатку:

FacebookSdk.sdkInitialize(getApplicationContext());
Log.d("AppLog", "key:" + FacebookSdk.getApplicationSignature(this)+"=");

Або це:

public static void printHashKey(Context context) {
    try {
        final PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
        for (android.content.pm.Signature signature : info.signatures) {
            final MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            final String hashKey = new String(Base64.encode(md.digest(), 0));
            Log.i("AppLog", "key:" + hashKey + "=");
        }
    } catch (Exception e) {
        Log.e("AppLog", "error:", e);
    }
}

А потім подивіться на колоди.

Результат повинен закінчуватися на "=".

Рішення базується тут і тут .


3

ПРОСТИЙ ШЛЯХ -> Не встановлюйте openssl -> ВИКОРИСТУЙТЕ GIT BASH!

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

Типовим паролем є "android"

У більшості з нас встановлений Git Bash, тому це мій улюблений спосіб.


3

це також допоможе новонародженим.

просто додавши більше деталей до відповіді @ coder_For_Life22.

якщо ця відповідь допоможе, ви не забудьте проголосувати. це мотивує нас.

для цього ви вже повинні знати шлях файлу

зберігання ключів програми та пароль для цього прикладу; врахуйте, що ключ зберігається на "c: \ keystorekey \ new.jks"

1. відкрийте цю сторінку https://code.google.com/archive / p / openssl-for-windows / завантаження

2. завантажте 32 або 64-бітний zip-файл відповідно до вашої ОС Windows.

3. витягніть завантажений файл де завгодно і запам’ятайте шлях.

4. Для цього прикладу ми вважаємо, що ви витягли папку в папці для завантаження.

тому адреса файлу буде "C: \ Користувачі \ 0 \ Завантаження \ openssl-0.9.8e_X64 \ bin \ openssl.exe";

5. тепер на клавіатурі натисніть вікна + кнопку r.

6. це відкриє поле запуску.

7. наберіть cmd і натисніть Ctrl + Shift + Enter .

8. це відкриє командний рядок як адміністратор.

9. тут перейдіть до папки бін java:

якщо ви використовуєте jre, наданий Android Studio, ви знайдете шлях таким чином:
a. відкрита андроїд-студія.
б. file-> структура проекту
c. на лівій панелі натисніть "SDK location"
d. на правій панелі, нижче "JDK location" - ваш шлях jre.
е. додайте "\ bin" в кінці цього шляху, оскільки потрібний нам файл "keytool.exe" знаходиться всередині цієї папки.
для цього прикладу я вважаю,
"C: \ Program Files \ Java \ jre-10.0.2 \ bin",
якщо ви встановили 32 -бітну Java, вона буде в
"C: \ Program Files (x86) \ Java \ jre-10.0.2 \ bin"
10. зараз З наведеними вище шляхами виконайте команду наступним чином:

keytool -exportcert -alias androiddebugkey -keystore "c:\keystorekey\new.jks" | "C:\Users\0\Downloads\openssl-0.9.8e_X64\bin\openssl.exe" sha1 -binary |"C:\Users\0\Downloads\openssl-0.9.8e_X64\bin\openssl.exe" base64
  1. Вам буде запропоновано пароль, введіть пароль, який ви вказали під час створення ключа зберігання ключів.

    !!!!!! це дасть вам ключ

помилки: якщо ви отримуєте:
---
'keytool' не розпізнається як внутрішня чи зовнішня команда
---
це означає, що java встановлена ​​десь в іншому місці.


3

крок 1-> C: \ програмні файли \ Java \ jdk1.6.0_43 \ bin>

Крок 2-> keytool -list -v -keystore C: \ Users \ leon \ .android \ debug.keystore -alias androiddebugkey -storepass android -keypass android

Ви отримали значення SHA1, натисніть на це посилання u перетворіть значення ур SHA1 в HASH KEY

я на 100% впевнений, що це посилання допоможе вам



2

Ви можете отримати всі свої відбитки пальців за адресою https://console.developers.google.com/projectselector/apis/credentials.
Використовуйте цей код Котліна, щоб перетворити його на клавішу:

fun main(args: Array<String>) {
    listOf("<your_production_sha1_fingerprint>",
            "<your_debug1_sha1_fingerprint>",
            "<your_debug2_sha1_fingerprint>")
            .map { it.split(":") }
            .map { it.map { it.toInt(16).toByte() }.toByteArray() }
            .map { String(Base64.getEncoder().encode(it)) }
            .forEach { println(it) }
}

1

https://developers.facebook.com/docs/android/getting-started/

4.19.0 - 25 січня 2017 року

Facebook SDK

Змінено

Facebook SDK тепер автоматично ініціалізується при запуску програми. У більшості випадків ручний дзвінок на FacebookSDK.sdkInitialize () більше не потрібен. Докладніше див. У посібнику з оновлення .

Для налагодження

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 (NoSuchAlgorithmException e) {
    e.printStackTrace();
} catch (Exception e) {
    e.printStackTrace();
}

1

Просто запустіть цей код у своїй активності OnCreateView або OnStart, і ця функція поверне вам хеш-ключ розробки .

private String generateKeyHash() {
    try {
        PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = (MessageDigest.getInstance("SHA"));
            md.update(signature.toByteArray());
            return new String(Base64.encode(md.digest(), 0));
        }
    }catch (Exception e) {
        Log.e("exception", e.toString());
    }
    return "key hash not found";
}

0

У мене була така ж точна проблема, мене не запитували пароль, і, здається, у мене був неправильний шлях до файлу зберігання ключів.

Насправді, якщо keytool не знайде встановленого вами магазину ключів, він створить його та видасть неправильний ключ, оскільки він не використовує правильний.

Загальне правило полягає в тому, що якщо вас не запитують пароль, ви створюєте неправильний ключ.


Я згенерував хеш-ключ, але не знаю, куди класти цей ключ, ви б мене направляли? Я працюю на Android-студії на Ubuntu.
Апурва

0

Ви можете використовувати цей apk

1.first install the app from the Google play store
2.install the above apk
3.launch the apk and input the package name of your app
4.then you will get the hash code you want

@Elynad Це китайське: D
armnotstrong


0

keytool -exportcert -alias androiddebugkey -keystore "C: \ Users ** Deepak **. android \ debug.keystore" | " C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | " C: \ Users \ Deepak \ ssl \ bin \ openssl" base64

2 Зміни в цій вище команді 1.Deepak === Замініть системою USERNAME 2.C: \ Користувачі \ Deepak \ ssl === повторіть свій шлях до відкритого SSL

запустіть цю команду і отримайте такий вихід

C: \ Users \ Deepak> keytool -exportcert -alias androiddebugkey -keystore "C: \ Users \ D eepak.android \ debug.keystore" | "C: \ Users \ Deepak \ ssl \ bin \ openssl" sha1 -binary | "C: \ Користувачі \ Deepak \ ssl \ bin \ openssl" base64 Введіть пароль зберігання клавіш: ****** ga0RGNY ****************** =


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.