Как создать хэш-подпись? - PullRequest
0 голосов
/ 06 июля 2018

Я использую twilio sdk для интеграции проверки смс с моим приложением для Android, twilio просит меня зарегистрировать хеш-подпись моего приложения, и ни один из способов генерирования хеш-подписи не сработал, всегда говорит, что это недопустимая хеш-подпись это путь, по которому twilio хочет получить хэш-подпись

diagram here

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

Вызовите этот метод в вашем Activity onCreate () и Поиск ключа в logcat с помощью ключа "HashKey"

public static 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.d("HashKey", "printHashKey() Hash Key: " + hashKey);
        }
    } catch (NoSuchAlgorithmException e) {
        Log.e(TAG, "printHashKey()", e);
    } catch (Exception e) {
        Log.e(TAG, "printHashKey()", e);
    }
}
0 голосов
/ 06 июля 2018

Пользователь ниже команды в терминале Android Studio для генерации хеш-кода ключа выпуска

keytool -exportcert -alias [aliasname] -keystore [your app keystore path] | openssl sha1 -binary | openssl base64

И ниже кода в вашем проекте, чтобы получить хэш ключа разработки

try {
    android.content.pm.PackageInfo info = getPackageManager().getPackageInfo(
            "com.apps.sonictonic",
            android.content.pm.PackageManager.GET_SIGNATURES);
    for (android.content.pm.Signature signature : info.signatures) {
        java.security.MessageDigest md = java.security.MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        android.util.Log.d("KeyHash", "KeyHash:" + android.util.Base64.encodeToString(md.digest(),
                android.util.Base64.DEFAULT));

    }
} catch (android.content.pm.PackageManager.NameNotFoundException e) {

} catch (java.security.NoSuchAlgorithmException e) {

}
0 голосов
/ 06 июля 2018

Какими способами вы пробовали? Есть 2 разных подписи вашего приложения, отладка и выпуск. Вы пробовали их обоих?

...