原文地址:http://blog.rx836.tw/blog/android-facebook-key-hashes/
Key Hashes最主要就是讓Facebook分辨你的App是不是當初設定的那支App,要符合才能對Facebook API進行存取,產生Key Hashes方法如下
1.首先下載OpenSSL
2.將openssl.exe這個檔案放到C:\Program Files\Java\jre6\bin這個資料夾裡面
3.用系統管理員身分將cmd.exe打開,並且開始製作「keystore」,語法如下
keytool -genkey -v -keystore apa.keystore -alias apa -keyalg RSA -keysize 2048 -validity 10000
請注意,程式碼中「apa.keystore」和「apa」是自取的名稱。
每個指令的名稱意思分別為:
-keystore:名稱
-alias:別名
-keyalg:演算法
-validity:有效天數
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=