#android #pbkdf2
#Android #pbkdf2
Вопрос:
Существует ли реализация PBKDF2 для Android. Я пытаюсь получить ключ, используя функцию PBKDF2. Я не смог найти пример для этого.
Ответ №1:
Опоздание на вечеринку, но многие устройства Android включают PBKDF2 в стандартную SecretKeyFactory. Тем не менее, многие люди рекомендуют использовать что-то вроде Spongycastle, чтобы гарантировать, что у вас будет этот алгоритм доступен.
Она выдает исключение, если не может его найти
SecretKeyFactory keyFactory = null;
try
{
keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
}
catch (NoSuchAlgorithmException e)
Комментарии:
1. В следующей статье приведен пример метода использования PBKDF от SecretKeyFactory: android-developers.blogspot.de/2013/02 /… (см. раздел «Еще большая безопасность»).
2. Работает для Android API 10 , как описано на developer.android.com/reference/javax/crypto / … для всех, кому интересно
Ответ №2:
Бесплатными опциями были бы:
- http://rtner.de/software/PBKDF2.html
- http://bouncycastle.org / (это может быть новее, чем некоторые Android в комплекте
org.bouncycastle
) - http://www.unwesen.de/2011/06/12/encryption-on-android-bouncycastle/
- https://github.com/rtyley/spongycastle#readme
ЕСЛИ коммерческий компонент является опцией, смотрите, например http://www.chilkatsoft.com/java-encryption.asp (пример кода http://www.example-code.com/android/crypt2_pbkdf2.asp).
Другой вариант — использовать javax.crypto
и реализовать ее самостоятельно, хотя я бы этого не рекомендовал…