Библиотека для генерации капчи в Android

Капча — компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером. Википедия

Хотя капча в приложениях для мобильных ОС практически не нужна, я решил использовать ее в своем приложении при регистрации пользователя. Из всех библиотек для генерации капчи, более менее достойной мне показалась библиотека AndroidEasyCaptcha. Именно ее я и буду обозревать.

Библиотека может генерировать два вида капчи: текстовую и математическую. Прежде чем воспользоватся я сделал копию репозитория к себе для исправления некоторых ошибок. Вот ссылка на него: AndroidEasyCaptcha.

Создаем текстовую капчу
Captcha c = new TextCaptcha(5, TextOptions.NUMBERS_AND_LETTERS);
Drawable myCaptcha = c.getImage(); //получаем изображение

Проверяем правильность введнной капчи:

String captchaText = myEditText.getText().toString();
boolean correct = myCaptcha.checkAnswer(captchaText);

Отключаем проверку регистра  (данная функция доступна только в моем репозитории):

capcha.ignoreCase();

В интерфейсе TextOptions определены 5 констант:

UPPERCASE_ONLY — только символы в нижнем регистре.

LOWERCASE_ONLY — только символы в верхнем регистре.

NUMBERS_ONLY — только цифры.

LETTERS_ONLY — только слова.

NUMBERS_AND_LETTERS — слова и цифры в разных регистрах.

Внимание! В оригинальном репозитории работает только NUMBERS_AND_LETTERS. Остальные опции работают в моем репозитории.

Создаем математическую капчу
Captcha c = new TextCaptcha(400, 200, MathOptions.PLUS_MINUS_MULTIPLY);
Drawable myCaptcha = c.getImage(); //получаем изображение

Проверяем правильность введнной капчи:

String captchaText = myEditText.getText().toString();
boolean correct = myCaptcha.checkAnswer(captchaText );

В интерфейсе MathOptions определены 2 константы:

PLUS_MINUS — сложение и вычитание.

PLUS_MINUS_MULTIPLY — сложение, вычитание и умножение.

Библиотека на GitHub: AndroidEasyCaptcha.
Исходники примера: AndroidEasyCaptcha.

Комментарии:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *