facebook散列生成

android开发在接入facebook第三方登录时需要在facebook配置信息,其中就有应用签名散列

一、散列如何生成

1、通过cmd命令生成

keytool -exportcert -alias YOU_APP_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

  • YOU_APP_ALIAS :应用签名文件的别名
  • YOUR_RELEASE_KEY_PATH :签名文件路径
    之后需要输入密码即可。
    Note:但是如果你使用的是Windows电脑的话这里是没有openssl 环境的,所以需要安装openssl(linux自带openssl环境)

2、通过android代码生成

    // 获取FB需要的密钥散列
    private void facebookSign() {
        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.i(TAG, "facebook key NameNotFoundException");
        } catch (NoSuchAlgorithmException e) {
                Log.i(TAG, "facebook key NoSuchAlgorithmException");
        }
    }

KeyHash打印出的日志就是对应的散列

希望对看到的您有帮助~

你可能感兴趣的:(facebook散列生成)