Android faceBook KeyHash生成(生成发布密钥散列)(转,有改动)

第一种方法 直接代码输出 不用修改

try {  
    int i = 0;  
    PackageInfo info = getPackageManager().getPackageInfo( getPackageName(),  PackageManager.GET_SIGNATURES);  
    for (Signature signature : info.signatures) {  
        i++;  
        MessageDigest md = MessageDigest.getInstance(“SHA”);  
        md.update(signature.toByteArray());  
        String KeyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);  
          //KeyHash 就是你要的,不用改任何代码  复制粘贴 ;
    }  
}  
catch (PackageManager.NameNotFoundException e) {    
      
}  
catch (NoSuchAlgorithmException e) {    
      

}  

第二种方法手动操作生成;

1、去https://code.google.com/p/openssl-for-windows/downloads/list下载OpenSSL工具

2、在c盘根目录下新建一个openssl的文件夹(C:\openssl),并将OpenSSL压缩包解压到此文件夹中

3、cmd 路径设置到jdk的bin路径下执行:

keytool -exportcert -alias aliasName -keystore path_to_name.keystore -file out_put_path.txt

其中path_to_name.keystore是你.keystore文件的路径,out_put_path.txt是生成文件的路径。

4、 打开CMD,路径设置到openssl文件夹下的bin目录(C:\openssl\bin)执行以下代码:

openssl sha1 -binary debug.txt >debug_sha.txt

执行完后在 C盘的openssl文件夹下生成了debug_sha.txt文件

5、继续执行以下代码:

openssl base64 -in debug_sha.txt >debug_base64.txt

执行完后在C盘的openssl文件夹下生成了debug_base64.txt文件

6、打开debug_base64.txt可得到KeyHash

原文件地址