Facebook Android Generuj Klucz Hash
Próbując utworzyć aplikację na Androida z integracją z Facebook, doszedłem do części w dokumentach, gdzie musisz wygenerować plik klucza hash, określa, aby uruchomić następujący kod
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore
| openssl sha1 -binary
| openssl base64
Kiedy uruchamiam to w moim terminalu, dostaję błąd manipulowania Keystore lub hasło było nieprawidłowe,
Chcę tylko wygenerować swój kluczowy Hash
Czy ktoś może wskazać mi właściwy kierunek?20 answers
Usuń certyfikat debugowania w obszarze~/.android / debug.keystore( na Linuksie i Mac OS X); katalog jest podobny do %USERHOME%/.android na Windows.
Wtyczka Eclipse powinna wygenerować nowy certyfikat przy następnej próbie zbudowania pakietu debugującego.
Daj mi znać, jeśli to zadziała.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-15 00:02:12
Aby wygenerować key hash musisz wykonać kilka prostych kroków.
1) Pobierz Openssl z: tutaj.
2) Utwórz folder openssl na dysku C
3) Rozpakuj pliki Zip do folderu OpenSSL utworzonego na dysku C .
4) skopiuj plik debug.keystore z .android folder w moim przypadku (C:\Users\SYSTEM.android) i wklej do folderu JDK bin w moim przypadku (C:\Program Files\Java \ jdk1.6. 0_05\bin)
5) otwórz wiersz polecenia i podaj ścieżkę folderu Bin JDK w moim przypadku (C:\Program Files\Java \ jdk1. 6. 0_05 \ bin).
6) skopiuj poniższy kod i naciśnij enter
Keytool-exportcert-alias androiddebugkey-keystore debug.keystore > c:\openssl\bin\debug.txt
7) Teraz musisz wprowadzić hasło , hasło = android.
8) jeśli zobaczysz w OpenSSL folderze Bin, otrzymasz plik z nazwa debugowania .txt
9) Teraz możesz ponownie uruchomić wiersz polecenia lub pracować z istniejącym wierszem polecenia
10) wróć do dysku C i podaj ścieżkę folderu OpenSSL Bin
11) skopiuj poniższy kod i wklej
OpenSSL sha1-debugowanie binarne.txt > debug_sha.txt
12) otrzymasz debug_sha.txt w folderze OpenSSL bin
13) ponownie skopiuj następujący kod i wklej
OpenSSL base64-in debug_sha.txt > debug_base64.txt
14) otrzymasz debug_base64.txt w folderze OpenSSL bin
15) otwórz debug_base64.plik txt to Twój kluczowy hash.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-28 06:21:35
Zaktualizowana odpowiedź (generowanie za pomocą kodu) prostsza metoda:
Z mojego doświadczenia, openssl zawsze był kłopotliwy, wypróbowałem drugą metodę sugerowaną przez facebook. I to jest cudowne. Jest to najlepsza metoda uzyskania klucza hash.
Drugą opcją jest wydrukowanie hasha klucza wysłanego do Facebook ' a i użycie tej wartości. Wprowadź następujące zmiany w metodzie onCreate () w swojej głównej aktywności:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.loginhowto",
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) {
} catch (NoSuchAlgorithmException e) {
}
...other operations
}//end of onCreate
Zastąp com.facebook.próbki.loginhowto z własnym Nazwa pakietu (Nazwa pakietu w manifeście.xml).
Oficjalny link- https://developers.facebook.com/docs/android/login-with-facebook/ (patrz na dole strony)
Stara odpowiedź (generowanie Keyhash przy użyciu openssl)
- aby wygenerować podpis musisz zainstalować openssl na swoim komputerze. Jeśli nie masz jednego Pobierz openssl stąd
- W C:, Utwórz
openssl
folder - rozpakuj zawartość pobranego pliku zip OpenSSL do folderu
openssl
w DyskuC:
- otwórz wiersz polecenia
- przenieś do
bin
zopenssl
tzn.C:\openssl\bin
w wierszu polecenia -
Uruchom następujące polecenie, aby wygenerować keyhash. Podczas generowania hashkey powinien zapytać Cię o hasło.
Keytool-exportcert-alias androiddebugkey-keystore "C:\Users\Anhsirk.Android\debug.keystore " / OpenSSL sha1-binary / OpenSSL base64
Uwaga: w powyższym kodzie zauważ, że musisz podać twoja ścieżka do użytkownika (tzn. w moim przypadku jest to C:\Users\Anhsirk musisz tylko zmienić to dla swojego konta użytkownika.
Podaj hasło jako
. Jeśli nie poprosi o hasło, ścieżka klucza jest nieprawidłowa.
Jeśli wszystko działa dobrze, powinien dać ci hashkey poniżej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-21 10:34:58
Odpowiedni klucz można uzyskać z samej aplikacji, dodając następujący kod, aby uzyskać odpowiedni hash klucza (w przypadku Facebook SDK 3.0 działa to)
try {
PackageInfo info = getPackageManager().getPackageInfo("com.package.mypackage", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.e("MY KEY HASH:", sign);
Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show();
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Zastąp com.paczka.mypackage z nazwą pakietu
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-12 13:25:05
I. Utwórz debugowanie hash klucza dla facebook
Dodaj kod, aby wydrukować hash klucza dla facebook
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.google.shoppingvn", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("KeyHash:",
Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
II. Utwórz Key hash release for facebook
- Pobierz openssl-0.9.8e_x64
- Utwórz folder openssl na dysku C
- Rozpakuj pliki Zip do folderu openssl
- Start - > Uruchom: cmd (naciśnij enter)
- (prasa) cd C:\Program Files\Java \ jdk1.6. 0_45 \ bin. Uwaga: C:\Program Files\Java\jdk1.6. 0_45 \ bin: is path do folderu jdk w komputerze
-
(Naciśnij) keytool-exportcert-alias gci-keystore D:\folder\keystorerelease | C:\openssl\bin\openssl sha1-binary | C:\openssl\bin\openssl base64 Uwaga: D:\folder\keystorerelease: is path to your keystorerelease
-
Enter keystore password: jest to hasło, gdy rejestrujesz keystorerelease.
Wtedy będziesz miał klucz hash: jDehABCDIQEDWAYz5Ow4sjsxLSw=
-
Zaloguj się facebook. Dostęp do zarządzania aplikacjami. Wklej hash klucza do aplikacji na developers.facebook.com
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-07 19:07:42
NAJPROSTSZE ROZWIĄZANIE TEGO PROBLEMU:
Mam ten Problem od dwóch miesięcy. Mój kluczowy hash podniósł się do 9. Dzisiaj w końcu znalazłem proste rozwiązanie:
Krok 1:
Facebook Facebook sdk zainstaluj na swoim telefonie ze strony Facebook developer page. Nie instaluj normalnej aplikacji facebook. Upewnij się, że możesz zalogować się na facebook. Następnie wyloguj się.Krok 2:
Eksportuj aplikację z finałem uwolnij klucz jako apk, tak jak przy przesyłaniu go do playstore.
Krok 3:
Umieść plik Apk w telefonie za pomocą kabla usb lub pamięci usb.
Krok 4:
Zainstaluj aplikację, używając menedżera plików: przykład
Krok 5:
Uruchom aplikację i spróbuj zalogować się za pomocą facebook. Otworzy się okno dialogowe z informacją: "klucz YOURHASHKEY nie został znaleziony w Konsoli programisty facebook"
Krok 6:
Zapisz klucz.
Krok 7:
Włóż go do konsoli programisty facebook i zapisz. Teraz jesteś skończony. Każdy, kto pobrzeży Twoją aplikację, opublikowaną z wcześniej używanym keystore, może zalogować się na facebook.
Enjoy
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-07 18:02:59
Jeśli zwalniasz, użyj klucza używanego do eksportowania aplikacji, a nie debugowania.keystore.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-20 07:39:54
Hasło certyfikatu debugowania to android, a nie Android
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-12 17:41:23
Nareszcie :)
Oto moja historia:
-
Dodaj ten kod do głównej aktywności, Po ustawieniu układu.
try { PackageInfo info = getPackageManager().getPackageInfo("PROJECTNAME", PackageManager.GET_SIGNATURES); for (Signature signature : info.signatures) { MessageDigest md = MessageDigest.getInstance("SHA"); md.update(signature.toByteArray()); String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT); Log.e("MY KEY HASH:", sign); //textInstructionsOrLink = (TextView)findViewById(R.id.textstring); //textInstructionsOrLink.setText(sign); Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show(); } } catch (NameNotFoundException e) { Log.d("nope","nope"); } catch (NoSuchAlgorithmException e) { }
Zmień nazwę projektu na nazwę pakietu!
- podpisz aplikację (Narzędzia Android->Eksportuj podpisaną aplikację)
- w głównej aktywności, w której wklejasz kod z opcji 2, w układzie Utwórz TextView z id textstring
- odkomentuj dwie linie, aby Twój kod znakowy był ustawiony na TextView 6 Wuolia, masz swój HASH , zainstaluj aplikację na swoim telefonie!!! i sprawdź swój klucz haszujący!
- Teraz , gdy jest widoczny, przejdź do utworzonej aplikacji facebook i dodaj ją do [Key Hashes]
- zwróć uwagę, że Nazwa pakietu powinna być taka sama jak na facebook [Nazwa pakietu] pod [Key Hashes]
- miłego dnia:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-30 03:34:58
One line solution to generate for facebook
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-03 13:33:15
Aby wygenerować release key hash musisz wykonać kilka prostych kroków.
1) Download Openssl
2) Utwórz folder openssl na dysku C
3) Rozpakuj pliki Zip do folderu OpenSSL utworzonego na dysku C.
4) skopiuj plik debugowania.keystore od .folder android w moim przypadku (C:\Users\SYSTEM.android) i wklej do folderu JDK bin w moim przypadku (C:\Program Files\Java \ jdk1.6. 0_05\bin)
5) Otwórz wiersz polecenia i podaj ścieżkę folderu bin JDK w moim przypadku (C:\Program Files\Java \ jdk1. 7. 0_40 \ bin).
6) skopiuj poniższy kod i naciśnij enter
Keytool-exportcert-alias abcd-keystore D:\Projects\MyAppFolder\keystore.txt | C:\openssl\bin\openssl sha1-binary | C:\openssl\bin\openssl base64 ex-keytool-exportcert-alias (your Sing APK alias name enter here like my sign APK alian name is abcd) - keystore "signed APK generated keystore apth enter here" / "OpenSSL bin folder ścieżka enter here" sha1-bin / " OpenSSL bin bin ścieżka do folderu wpisz tutaj " base64
7) Teraz musisz wprowadzić hasło, Password = (Tutaj wpisz hasło logowania)
8) masz keystore, które są używane do wydania klucza aplikacji
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-07 17:33:18
Mimo, że ten wątek jest stary, to jednak chciałbym podzielić się moim doświadczeniem (ostatnio zacząłem współpracę z facebook), które wydaje mi się proste:
- Pobierz openssl z poniższego linku: https://code.google.com/p/openssl-for-windows/downloads/list
- rozpakuj go na dysk lokalny (np. C:\openssl)
-
Aby uzyskać klucz programistyczny do integracji z facebook, użyj następującego polecenia z linii poleceń w systemie windows:
Keytool-exportcert - alias androiddebugkey-keystore % HOMEPATH%.Android\debug.keystore / "C:\openssl\bin\openssl.exe " sha1-binary / "C:\openssl\bin\openssl.exe " base64
Uwaga!: proszę zastąpić ścieżkę dla openssl.exe (w tym przykładzie jest "C:\openssl\bin\openssl.exe") z własną ścieżką instalacji.
- wyświetli monit o hasło, np.
Wpisz hasło keystore: android
Wpisz android jako hasło, jak pokazano powyżej.
To jest to! Otrzymasz klucz o długości 28 znaków. Zdrowie!
Użyj tej samej procedury, aby uzyskać klucz zwalniający. Wystarczy zastąpić poniższe polecenie i użyć aliasu klucza release.
Keytool-exportcert-alias YOUR_RELEASE_KEY_ALIAS-keystore YOUR_RELEASE_KEY_PATH | " ścieżka dla openssl.exe " sha1-binary / OpenSSL base64
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-25 18:28:48
Świetny wpis na blogu w temacie
Wydobywanie klucza Hash z .klucz p12
- Otwórz Terminal lub wiersz poleceń i przejdź do miejsca, w którym twój .klucz p12 jest.
- Wpisz: "keytool - V-list-keystore.p12-magazyn pkcs12 " gdzie mycert.p12 jest nazwą Twojego pliku .klucz p12.
- Wprowadź hasło keystore (to, którego użyłeś podczas eksportowania .klucz p12). 4 . Skopiuj bajty podpisu odcisków palców sha1.
- bajty w sygnaturze odcisków palców sha1 są potrzebne do zapisu "sha1.bin " plik. Do wklejenia skopiowanych bajtów można użyć edytora szesnastkowego. Następnie zapisz plik jako " sha1.bin".
- Otwórz terminal ponownie i wpisz: "OpenSSL base64 - in sha1.bin-out base64.txt".
- wynik "base64.txt " będzie zawierać klucz Hash, który jest potrzebny do Facebook.
Świetny i prosty edytor szesnastkowy dla mac: HexFiend
OpenSSL powinien być preinstalowany na Macu, a oto link Dla Windows wersja.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-07 17:53:30
Spróbuj podać hasło do klucza i zapisz jako część polecenia
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -keypass android -storepass android \
| openssl sha1 -binary \
| openssl base64
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-10 20:16:45
Udało mi się wykonać żądane zadanie z niektórymi rozwiązaniami tutaj, ale pomyślałem sobie, chłopcze, że to głupie... dlaczego nie napisać małego kodu Java, który to robi i spakować go do słoika, więc zrobiłem...
A link do pobrania The Jar
Działa na Windows 8... nie próbowałem żadnego innego systemu operacyjnego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-07 17:53:46
Cześć wszystkim jej Moja historia jak się podpisuje ma klucz do facebook
Po pierwsze wystarczy skopiować te 2 metody w pierwszej klasie
private void getAppKeyHash() {
try {
PackageInfo info = getPackageManager().getPackageInfo(
getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md;
md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String something = new String(Base64.encode(md.digest(), 0));
System.out.println("HASH " + something);
showSignedHashKey(something);
}
} catch (NameNotFoundException e1) {
// TODO Auto-generated catch block
Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
Log.e("exception", e.toString());
}
}
public void showSignedHashKey(String hashKey) {
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setTitle("Note Signed Hash Key");
adb.setMessage(hashKey);
adb.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
adb.show();
}
* * wywołanie funcation getAppKeyHash () z metody oncreate jeśli chcesz podpisany hash następnie make signed build install signed build and run otrzymasz klucz hash w oknie dialogowym, a następnie po prostu zanotuj go i zaktualizuj na Facebook dev account i skomentuj tę funkcję i zrób kolejny podpisany APK * * {]}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-05 12:22:45
Jeśli Twoje hasło = android jest złe, a następnie umieścić swoje hasło do komputera, że to działa dla mnie.
I do generowania keyHash spróbuj tego linku Proszę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-16 04:25:13
Wygeneruj klucz Hashowy debugowania
public String hashkey(Context context) {
String keyhash = "";
try {
PackageInfo info = context.getPackageManager().getPackageInfo(context.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));
keyhash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
}
} catch (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
return keyhash;
}
Wygeneruj klucz skrótu wydania
keytool -exportcert -alias specialbridge -keystore /home/shilpi/newproject/specialBridge/SpecialBridgeAndroid/keystore/specialbridge.jks | openssl sha1 -binary | openssl base64
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-11 11:15:09
Działa mi tylko hasło android
. Dlaczego nie jest to wymienione w żadnych przewodników tam?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-13 09:13:47
Użyj tego w kotlinie dla Print key hash w logu
try {
val info = context.getPackageManager().getPackageInfo(context.packageName,
PackageManager.GET_SIGNATURES);
for (signature in info.signatures) {
val md = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
Log.d("Key hash ", android.util.Base64.encodeToString(md.digest(), android.util.Base64.DEFAULT))
}
}catch (e:Exception){
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-19 10:41:08