Key hash for Facebook Android SDK
Nie mogę dowiedzieć się, jak uzyskać klucz Hash wymagany do korzystania z Facebook Android SDK. Domyśliłem się, że mogę używać keytool
z tymi poleceniami:
keytool -exportcert -alias [alias]
-keystore [keystore] | openssl sha1 -binary | openssl enc -a -e
Jedynym problemem jest to, że nie mam pojęcia, gdzie to wstawić, próbowałem przez okna poleceń (win7) i próbowałem otworzyć plik keytool.exe.
9 answers
- Pobierz i zainstaluj OpenSSL z http://slproweb.com/products/Win32OpenSSL.html oparty na windows 32 lub 64 bit.(Uwaga: Pobierz i zainstaluj pierwszy Visual C++ 208 redisributable również z tej strony)
- Umieść katalog bin z zainstalowanym OpenSSL w ścieżce windows.
- Otwórz wiersz polecenia i przejdź do C:\Users{User_Name}.android
- Teraz umieść to polecenie NA cmd " keytool-exportcert-alias androiddebugkey-keystore debug.keystore / OpenSSL sha1-binary | OpenSSL base64".(refer https://developers.facebook.com/docs/android/getting-started#samples )
- teraz wprowadź hasło "facebook" bez podwójnego cytatu.
- Teraz zostanie wygenerowany klucz hashowy
- na koniec przejdź do strony dewelopera Facebook. Upewnij się, że jesteś zalogowany na Facebook i, korzystając z rozwijanego menu w prawym górnym rogu, przejdź do "ustawień dewelopera":
- Gdy znajdziesz się w Ustawieniach programisty, wybierz "Przykładowa aplikacja" z nawigacji na w lewo, a także dodać i zapisać hash klucza do swojego profilu:
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
2014-02-07 12:56:51
Możesz zainstalować Open SSL z tutaj , co powinno sprawić, że Twoje polecenie zadziała
Stworzyłem skrypt wsadowy facebookkeydebug.bat , który zwraca żądany hash klucza Facebook. Wystarczy edytować skrypt, ustawić poprawne ścieżki, nazwę keystore i uruchomić go.
:: 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: opublikowałem repo z kilkoma skryptami wsadowymi do podpisywania i uzyskiwania kluczy cert w systemie Windows: https://github.com/petrnohejl/Android-Scripts
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-08-24 14:46:23
Możesz użyć poniższego kodu, aby uzyskać klucz Hashowy:
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());
}
Odniesienie:
Http://limbaniandroid.blogspot.com/2013/04/how-to-get-hash-key-for-integarte.html
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
2014-03-23 06:27:02
To make things easier -
keytool.exe -list -alias androiddebugkey -keystore debug.keystore -v
To powinno zapewnić Ci potrzebne odciski palców, bez kłopotów z instalacją openssl.
Np.
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
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-05-03 14:36:28
To jest przykład jak uzyskać Hash klucza z magazynu kluczy:
Najpierw musimy uzyskać ścieżki:
Ścieżka Javy: C:\Program Files\Java \ jdk1. 6. 0_35\jre\bin
Otwórz ścieżkę SSL: C:\OpenSSL-Win32\bin
(Zainstaluj z: http://www.openssl.org/)
Ścieżka Keystore: C:\Data\ANDROID\KEYSTORE\
2) Następnie przejdź do linii poleceń i wpisz:
Cd [Java path]
3) Następnie wpisz :
Keytool.exe-exportcert-alias [nazwa aliasu] -keystore [Keystore Ścieżka] \ debug.keystore / [Open SSL Path]\OpenSSL sha1-binary /[Open SSL Path]\bin \ OpenSSL base64
4) hasło do Keystore musi być wymagane, a następnie masz Hash Key
związane z Keystore Androida.
To jest doc jak ustawić Key Hash
dla Facebook
:
Https://developers.facebook.com/docs/android/getting-started#release-key-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
2015-10-08 19:06:55
Musisz otworzyć okno wiersza polecenia. Przejdź do start- > Uruchom i wpisz " cmd " i naciśnij enter. Następnie musisz przejść do folderu, w którym znajduje się keytool
(chyba że znajduje się w twojej ścieżce), a następnie wpisać to polecenie.
To znaczy, zakładając, że polecenie jest dla windows, a nie Linuksa.
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
2010-12-03 17:07:56
Najlepszym sposobem jest wygenerowanie Key-Hash za pomocą kodu:
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) {
}
}
Wywołanie tej metody raz i wygenerowanie key-hash, 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-07-08 09:22:55
C:\Program Files \ Java \ jdk1.6. 0_22 \ bin\keytool.exe-exportcert-alias "typeYouraliasname" - lokalizacja keystore twojego keystore | C:\OpenSSL-Win32\bin\openssl sha1-binary | C:\OpenSSL-Win32\bin\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-22 11:03:16