原文地址:http://blog.rx836.tw/blog/android-facebook-key-hashes/ java
Key Hashes最主要就是讓Facebook分辨你的App是否是當初設定的那支App,要符合才能對Facebook API進行存取,產生Key Hashes方法以下 android
1.首先下載OpenSSL 算法
2.將openssl.exe這個檔案放到C:\Program Files\Java\jre6\bin這個資料夾裡面 spa
3.用系統管理員身分將cmd.exe打開,並且開始製做「keystore」,語法以下 .net
keytool -genkey -v -keystore apa.keystore -alias apa -keyalg RSA -keysize 2048 -validity 10000請注意,程式碼中「apa.keystore」和「apa」是自取的名稱。
每個指令的名稱意思分別為: code
-keystore:名稱 對象
-alias:別名 blog
-keyalg:演算法 ip
-validity:有效天數 ssl
4.產生「keystore」以後,開始取得Hash Key,語法以下
keytool -exportcert -alias apa -keystore apa.keystore | openssl sha1 -binary | openssl base64
一樣注意-alias和-keystore的名稱是剛剛本身取的名稱
最後就會看到類似如下的代碼在視窗上顯示出來
P1suAlHZ3f8RkLibv4MnnI3z2fg=
這樣表明你已經成功取得Hash Key囉,將這組Key貼到Facebook開發者人員設定App的地方,大功告成!
=====================》導出示例:
#1. 安裝openssl,將keytool.exe拷貝至java bin目錄下。
#2. cmd進入java bin目錄,執行以下。
C:\Program Files\Java\jre6\bin>
keytool -genkey -v -keystore xxxx_facebook.keystore -alias xxxx_facebook -keyalg RSA -keysize 2048 -validity 10000
輸入keystore密碼:
再次輸入新密碼:
您的名字與姓氏是什麼?
[Unknown]: xxxx
您的組織單位名稱是什麼?
[Unknown]: xxxx
您的組織名稱是什麼?
[Unknown]: xxxx
您所在的城市或區域名稱是什麼?
[Unknown]: xxxx
您所在的州或省份名稱是什麼?
[Unknown]: xxxx
該單位的兩字母國家代碼是什麼
[Unknown]:
CN=xxxx, OU=xxxx, O=xxxx, L=xxxx, ST=xxxx, C=Unknown 正確嗎?
[否]: y
正在爲如下對象生成 2,048 位 RSA 密鑰對和自簽名證書 (SHA1withRSA)(有效期爲 10,00
0 天):
CN=xxxx, OU=xxxx, O=xxxx, L=xxxx, ST=xxxx, C=Unknown
輸入<xxxx_facebook>的主密碼
(若是和 keystore 密碼相同,按回車):
[正在存儲 xxxx_facebook.keystore]
#3. 查詢key-hashes
C:\Program Files\Java\jre6\bin>
keytool -exportcert -alias xxxx_facebook -keystore xxxx_facebook.keystore|openssl sha1 -binary|openssl base64
輸入keystore密碼: xxxxxx
uLlU6I242Wr*****4kxhBLNeaBU=