Saya sedang mengerjakan aplikasi Android, di mana saya ingin mengintegrasikan fitur posting Facebook. Saya mengunduh Facebook-Android SDK, dan saya mendapatkan readme.md (file teks) di sana, di mana disebutkan untuk menghasilkan hash kunci untuk Android. Bagaimana cara menghasilkannya?
229
Jawaban:
Berikut adalah langkah-
Unduh openssl dari kode Google (Jika Anda memiliki mesin 64 bit, Anda harus mengunduh openssl-0.9.8e X64 bukan versi terbaru)
Ekstrak itu. buat folder- OpenSSL di C: / dan salin kode yang diekstrak di sini.
mendeteksi jalur file debug.keystore. Jika Anda tidak menemukan, maka lakukan pencarian di C: / dan gunakan Path pada perintah di langkah berikutnya.
mendeteksi jalur keytool.exe Anda dan pergi ke dir / in command prompt dan jalankan perintah ini dalam 1 baris-
Untuk info lebih lanjut, kunjungi di sini
sumber
$
.[EDIT 2020] -> Sekarang saya sangat merekomendasikan jawabannya di sini , cara yang lebih mudah menggunakan studio android, lebih cepat dan tidak perlu membuat kode apa pun - kode di bawah ini kembali pada masa gerhana :) -.
Anda dapat menggunakan kode ini dalam aktivitas apa pun. Ini akan mencatat hashkey di logcat, yang merupakan kunci debug. Ini mudah, dan ini melegakan daripada menggunakan SSL.
Anda dapat menghapus kode setelah mengetahui kunci;)
sumber
keytool
perintah saya mendapatkan hash kunci yang salah (saya tidak tahu mengapa, memutuskan saya tidak cukup peduli untuk menyelidiki). Ini berhasil dan secara harfiah membutuhkan waktu 5 menit untuk mendapatkan debug dan melepaskan hash kunci. +1Saya telah membuat alat kecil untuk Windows dan Mac OS X. Cukup masukkan file key-store, dan dapatkan kunci hash.
Jika Anda ingin file debug.keystore default, gunakan alias dan kata sandi default. Selain itu, gunakan file dan nilai keystore Anda sendiri.
Lihat, unduh versi Windows atau unduh versi Mac OS X (Dev-Host mungkin kadang-kadang turun ... jadi jika tautan rusak, PM saya dan saya akan memperbaikinya).
Saya harap itu membantu kalian ...
31 Des 2014 - EDIT: Host yang diubah ke AFH. Tolong beri tahu saya jika tautannya rusak
21 Nov 2013 - EDIT:
Seperti yang diminta oleh pengguna, saya menambahkan lokasi keystore default dan tombol DONATE. Jangan ragu untuk menggunakannya jika saya telah membantu Anda. :)
sumber
keytool
baris perintah? Bukankah seharusnya menghasilkan hasil yang identik, jika diterapkan pada file keystore yang sama?Instruksi yang saat ini ada di Tutorial Android Facebook tidak berfungsi dengan baik di Windows . Contoh mereka menunjukkan cara mem-pipe output keytool ke openssl tetapi jika Anda mencoba ini pada Windows output tidak valid untuk beberapa alasan. Saya menemukan bahwa saya harus menggunakan file perantara untuk membuatnya berfungsi dengan baik. Inilah langkah-langkah yang berhasil bagi saya:
Mulailah dengan mengunduh openssl untuk Windows dari Google.
Setelah menjalankan perintah ini hash yang valid disimpan di file base64.txt. Salin dan tempel ini ke pengaturan aplikasi Anda di Facebook.
sumber
Inilah yang diberikan di halaman resmi Facebook :
Biarkan saya memecah perintah ini menjadi beberapa bagian.
Carilah
"keytool.exe"
. Anda dapat mencarinya di drive C :. Anda dapat menemukannya di"java jdk"
atau"java jre"
. Jika Anda telah menginstal banyak versi, pilih salah satunya.Buka prompt CMD dan buka direktori di atas tempat Anda menemukannya
"keytool.exe"
.Klip "exe`" dan tempel perintah di atas yang disediakan di halaman Facebook.
Anda akan mendapatkan kesalahan saat memasukkan ini sehingga OpenSSL tidak dikenali sebagai perintah input output. Solusi: Unduh "openssl" dari OpenSSL (jika Anda memiliki mesin 64-bit, Anda harus mengunduh openssl-0.9.8e X64 ). Ekstrak dan simpan di mana saja ... Saya menyimpannya di drive C: di
OpenSSl
folderGanti openssl pada perintah di atas di mana Anda mendapatkan kesalahan OpenSSL dengan "C: \ OpenSSL \ bin \ openssl" di kedua tempat setelah pipa, "|".
Jika diminta kata sandi, masukkan
android
.Dan Anda akan mendapatkan kunci hash Anda. Untuk langkah lebih lanjut, lihat lagi halaman Facebook.
sumber
Tambahkan kode ini ke
onCreate
aktivitas Anda, itu akan mencetak hash di bawah tag KeyHash di logCat AndaAnda dapat menambahkan beberapa hashke untuk akun Anda, jadi jika Anda telah menjalankan debug jangan lupa untuk menjalankan ini lagi dalam mode rilis .
sumber
Untuk mendapatkan kode hash kunci Android, ikuti langkah-langkah ini:
cd C:\Program Files\Java\jdk1.6.0_26\bin
keytool -export -alias myAlias -keystore C:\Users\
nama pengguna Anda\.android\myKeyStore | C:\openssl-0.9.8k_WIN32\bin\openssl sha1 -binary | C:\openssl-0.9.8k_WIN32\bin\openssl enc -a -e
sumber
myKeyStore
, berikan jalur kunci rilis Anda. Kode di atas adalah untuk kunci debugSolusi paling sederhana yang saya temukan adalah ini:
Cari baris dalam log yang terlihat seperti ini:
Salin "abcdefgHIJKLMN + OPqrstuvwzyz" dan rekatkan ke area Facebook Android Key Hash.
sumber
KeyHash: XWwXXXXX/5xxxxxxxxxxx=
di log dan membantu saya keluar!Anda bisa mendapatkan hash kunci dari kunci SHA-1. Ini sangat sederhana, Anda perlu mendapatkan kunci SHA-1 (Signed APK) dari Play Store periksa gambar di bawah ini.
Sekarang Salin kunci SHA-1 dan lekatkan di situs web ini http://tomeko.net juga periksa gambar di bawah ini untuk mendapatkan Key Hash Anda.
sumber
Saya sudah melakukannya dengan OS Linux & OS Windows :
Linux:
keytool -exportcert -alias **myaliasname** -keystore **/home/comp-1/Desktop/mykeystore.jks** | openssl sha1 -binary | openssl base64
Ubah Alias Name dan Keystore dengan jalurnya sebagai kebutuhan Anda.
Terminal akan meminta untuk Sandi dari Keystore. Anda harus memberikan kata sandi untuk Keystore yang sama .
Jadi akhirnya Anda akan mendapatkan Release Hashkey .
Windows:
Langkah-langkah untuk Melepaskan 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
Ubah Alias Name dan Keystore dengan jalurnya sebagai kebutuhan Anda.
catatan:
Harap letakkan detail Anda di tempat yang saya tandai antara ** **.Terminal akan meminta untuk Sandi dari Keystore. Anda harus memberikan kata sandi untuk Keystore yang sama .
Jadi akhirnya Anda akan mendapatkan Release Hashkey .
Selesai
sumber
unduh openSSL untuk windows di sini Anda dapat menemukan 64bit dan 32bit di sini
ekstrak file yang diunduh
sumber
android
memberi hash 24 digit dan mengetika
memberi hash 28 digit. Tidak tahu kenapa!Anda perlu membuat keystore oleh keytool untuk aplikasi yang ditandatangani untuk android seperti prosedur yang dijelaskan dalam Situs Android dan kemudian Anda harus menginstal cygwin dan kemudian Anda perlu menginstal openssl dari kode google kemudian cukup jalankan perintah berikut dan Anda akan mendapatkan hash kunci untuk android dan kemudian masukkan kunci hash ke dalam aplikasi facebook yang Anda buat. Dan kemudian Anda dapat mengakses aplikasi facebook melalui Aplikasi Android untuk posting dinding ("publish_stream") bisa menjadi contoh.
$ keytool -exportcert -alias alias_name -keystore sample_keystore.keystore | openssl sha1 -binary | openssl base64
Anda perlu menjalankan perintah di atas dari cygwin.
sumber
Unduh openSSL -> Instal -> biasanya instal di C: \ OpenSSL
kemudian buka cmd dan ketik
untuk memeriksa versi jdk, buka C: / file program / java / jdk_version
Ini akan meminta Anda untuk kata sandi yang android.
sumber
Cukup Buka Anda File Aktivitas Utama dan buat fungsi penyebutan di bawah ini:
1.1 Jalankan Aplikasi Anda, ini akan menghasilkan kunci Hash untuk aplikasi Anda.
Sekarang, Buka log kucing dan cari dengan "KeyHash" dan salin kunci hash.
Setelah Anda membuat kunci Hash, Anda dapat menghapus fungsi ini.
sumber
1) Buat kunci untuk menandatangani aplikasi Anda, dan ingat alias.
2) Instal OpenSSL.
3) Letakkan folder bin OpenSSL di jalur Anda.
4) Ikuti langkah-langkah yang disebutkan di bawah "Setup Single Sign-On" di FB-Android-SDK halaman , dan menghasilkan Anda Hash Key. Pastikan Anda memasukkan nama file alias dan keystore yang benar.
5) Buat aplikasi di Facebok, dan di bawah tab Perangkat Seluler, masukkan Kunci Hash ini.
sumber
Dokumentasi resmi di situs pengembang facebook :
sumber
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
dan saya masih mendapatkan hash kunci tidak cocok dengan hash kunci tersimpanIni bekerja untuk saya ...
Langkah:
sumber
Untuk Linux
Terminal Terbuka:
Untuk Pembuatan Debug
Anda akan menemukan debug.keystore dari folder ".android" salin dan tempel di desktop dan jalankan perintah di atas
Untuk rilis Build
CATATAN: Pastikan Dalam Kedua kasus itu harus meminta kata sandi. Jika tidak meminta kata sandi itu berarti ada yang salah dalam perintah.
sumber
Untuk aplikasi Android
Kode ini digunakan untuk mendapatkan kunci hash di aplikasi Android Anda untuk integrasi Facebook. Saya telah menguji semua perangkat dan berfungsi. Hanya ubah nama paket dari kode ini:
sumber
Seperti yang dijawab pada masalah yang sama saya menemukan ini bekerja untuk saya:
apkname.apk
file yang Anda ingin tahu hash ke folder ' Java \ jdk1.7.0_79 \ bin 'keytool -list -printcert -jarfile apkname.apk
SHA1
nilainya dan konversikan menggunakan situs inisumber
Solusi paling sederhana:
sumber
Untuk menghasilkan hash kunci rilis Anda, jalankan perintah berikut di Mac atau Windows menggantikan alias kunci rilis Anda dan jalur ke keystore Anda.
Di Windows, gunakan:
Perintah ini harus menghasilkan 28 string characher. Ingat bahwa COPY dan PASTE Hash Kunci Rilis ini ke dalam pengaturan Android ID Aplikasi Facebook Anda.
image: fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2178-6/851568_627654437290708_1803108402_n.png
Rujuk dari: https://developers.facebook.com/docs/android/getting-started#release-key-hash dan http://note.taable.com
sumber
Gunakan ini untuk hash kunci cetak di kotlin
sumber
Memecahkan milik saya juga di Android Studio tetapi dengan pendekatan yang sedikit berbeda.
Untuk mendapatkan nilai SHA-1 di Android Studio.
Nilai SHA-1 terlihat seperti CD ini: A1: EA: A3: 5C: 5C: 68: FB: FA: 0A: 6B: E5: 5A: 72: 64: DD: 26: 8D: 44: 84
dan buka http://tomeko.net/online_tools/hex_to_base64.php untuk mengonversi nilai SHA1 Anda menjadi base64. Inilah yang Facebook butuhkan untuk mendapatkan hash yang dihasilkan "******************** =" dan menyalin hash kunci ke konsol aplikasi facebook.
Sebagian dari jawaban ini diambil dari sini Github Link
sumber
Ada dua metode yang tersedia kompleks satu dan yang mudah
Metode Satu: (Kompleks kecil)
pertama-tama Anda harus mengunduh ssl
64bit
atau32bit
sesuai, ingatlah untuk mengunduh file dengan nama yang berisie
setelah kode versi openssl-0.9.8e_X64.zip OR openssl-0.9.8e_WIN32.zip tidak dengank
kode versi setelah,dan letakkan di direktori AndroidStudio / jre / bin, jika Anda tidak tahu di mana harus meletakkannya, Anda dapat menemukan direktori ini dengan mengklik kanan pintasan studio android sebagai:
sekarang Anda telah mengelola dua hal yang diperlukan di satu tempat, tetapi Anda masih harus menemukan jalan untuk Anda
debug.keystore
, yang selalu dapat ditemukan di"C:\Users\yourusernamehere\.android\debug.keystore"
,Karena semuanya sudah diatur, mari atur perintah yang ingin Anda jalankan untuk pembuatan kunci hash
base64 format
, dan perintah Anda akan terlihat seperti iniitu akan meminta Anda untuk memasukkan kata sandi untuk debug.keystore, yang merupakan android secara default. jika Anda menggunakan kunci Anda sendiri, kata sandinya juga akan menjadi milik Anda. output akan terlihat seperti ini jika semuanya berjalan baik seperti yang diharapkan, semoga bisa membantu
Metode Kedua (Masing-masing mudah)
jika Anda tidak ingin melihat semua prosedur di atas, maka cukup gunakan metode berikut untuk mencatat haskey:
keluaran:
sumber
Pendekatan terbaik adalah dengan menggunakan kode berikut:
Tapi saya sangat frustasi dengan kenyataan bahwa tidak ada alat sederhana untuk menghasilkan HashKey untuk aplikasi Facebook. Setiap kali saya harus bermain dengan Openssl dan Keytool atau menggunakan kode untuk mendapatkan hash dari tanda tangan ...
Jadi saya menulis KeyGenTool sederhana yang akan bekerja untuk Anda: -> KeyGenTool di Google Play <-
Nikmati :)
sumber
Saya melakukan kesalahan kecil yang harus diingat. Jika Anda menggunakan keystore, berikan nama alias Anda, bukan androiddebugkey ...
Saya memecahkan masalah saya. Sekarang jika Facebook sudah terinstal di perangkat saya, maka aplikasi saya masih mendapatkan data tentang integrasi login Facebook. Hanya peduli dengan kunci hash Anda.
Silahkan lihat di bawah ini.
Lalu tekan Enter- itu akan meminta Anda untuk kata sandi dan kemudian memasukkan kata sandi Anda, bukan Android.
Keren.
sumber
sumber
Kode Kotlin untuk mendapatkan kunci Hash
Tolong jangan lupa untuk membuat kunci di lingkungan Debug dan Rilis karena mereka berubah sesuai pengaturan build.
sumber
coba ini :
1) dapatkan kunci hash dari menggunakan baris perintah (Dokumen Resmi: https://developers.facebook.com/docs/android/getting-started )
ATAU
2) dapatkan kunci hash menggunakan kode
sumber