Android I';我正在设置facebook帐户套件SMS身份验证,是否需要生成哈希密钥?

Android I';我正在设置facebook帐户套件SMS身份验证,是否需要生成哈希密钥?,android,facebook,google-maps-api-3,hashcode,Android,Facebook,Google Maps Api 3,Hashcode,我可以从facebook开发者那里获得应用程序id和facebook帐户工具包吗? 我启动命令提示符并转到java bin目录并执行以下命令:keytool-exportcert-alias androiddebugkey-keystore C:\Users\Ousama.android\debug.keystore| “C:\Users\Ousama\Desktop\openssl-0.9.8k_X64\bin\openssl.exe”shal-binary |“C:\Users\Ousama

我可以从facebook开发者那里获得应用程序id和facebook帐户工具包吗? 我启动命令提示符并转到java bin目录并执行以下命令:keytool-exportcert-alias androiddebugkey-keystore C:\Users\Ousama.android\debug.keystore| “C:\Users\Ousama\Desktop\openssl-0.9.8k_X64\bin\openssl.exe”shal-binary |“C:\Users\Ousama\Desktop\openssl-0.9.8k_X64\bin\openssl.exe”base64。
但是我没有任何输出,他只是说命令的语法(keytool-exportcert-alias androiddebugkey-keystore)不正确

如果您想利用即时验证功能,有必要生成密钥散列。然后,您可以将密钥哈希添加到developer.facebook.com上的应用程序DashbPad参考中,以进行即时验证:

声明此函数

public static final String TAG = "OTP Activity";   // put this first on your main activity .
并在OnCreate方法中调用此函数

printHashKey(this);
代码如下:

public void printHashKey(Context pContext) {
    try {
        PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            String hashKey = new String(Base64.encode(md.digest(), 0));
            Log.i(TAG, "printHashKey() Hash Key: " + hashKey);
        }
    } catch (NoSuchAlgorithmException e) {
        Log.e(TAG, "printHashKey()", e);
    } catch (Exception e) {
        Log.e(TAG, "printHashKey()", e);
    }
}
您将从Logcat获取应用程序哈希键