CAPTCHA.ru
Что такое CAPTCHA
Статьи
Алгоритмы
MultiSwirl
MultiWave
Примеры взлома
Проект KCAPTCHA
Ссылки
Отблагодарить
English

все предлагают изготовление печатей в москве на pechatei.net . Наращивание ресниц: курсы наращивание ногтей. . Курсы массажа в Академии красоты - курсы массажа лица. Курсы массажа в центре Москвы.

Системные требования

ImageMagick

MultiSwirl

Алгоритм Swirl (похож на Twirl из Photoshop) пакета ImageMagick производит закручивание изображение вокруг центра на некоторый угол:


Swirl на 100°

Видно, что достигается достаточно сильное искажение первоначального рисунка, с сохранением, однако, читабельности. Правда, преобразование Swirl обратимо. Это значит, что, если мы над искаженным изображением проведем обратную операцию (в данном случае повернем на -100°), получится исходная, неискаженная картинка.


Swirl обратно (на -100°)

Если мы просто повернем изображение вокруг центра на какой-то произвольный угол, то взломщику достаточно подобрать этот угол (а его необязательно подбирать с точностью до градуса, небольшие отклонения приведут к небольшим, несущественным для распознавания искажениям).

Поэтому очевидно, что защиту надо усложнить. А именно производить несколько поворотов вокруг произвольно выбранных центров на произвольные углы.

Практика показывает, что достаточно двух искажений, чтобы значительно запутать возможного взломщика. Эти два поворота лучше делать в противоположных направлениях, чтобы не слишком "закручивать" результат в ущерб читаемости человеком.

Вот отлаженный код для ImageMagick (Для понятности код разделен на строки и снабжен комментариями. Реальная консольная команда должна быть написана без комментариев и в одну строку)

convert -size 300x100 xc:white # поле 300x100, белого цвета, 
-type TrueColor -antialias -fill black # печатаем черным с антиалиасингом...
-font times.ttf -pointsize 70 -draw 'text 20,70 "STRING"' # строку STRING шрифтом times.ttf 70-ым
-extent 400x120 -roll +101+4 # подвинуть центр влево на 100 точек +случайная флуктуация
-swirl 40 # первый swirl на случайный угол (от 37 до 51)
-extent 600x140 -roll +3-4 # подвинуть центр вправо на 200 точек, тоже со случайной флуктуацией
-swirl -30 # второй поворот (от 20 до 35)
-crop 300x100+100+17 +repage -resize 150x50 gif:- # окончательная обработка и вывод в stdout

Вот результат (нажмите кнопку "Обновить" рядом с картинкой для перегенерации):



В качестве путей для улучшения защиты стоит задуматься об уменьшении расстояния между символами, использовать широкий диапазон символов (а не только цифры), а также добавить такой шум, который бы затруднял роботу определение границ символов.

Компьютерные курсы фотошоп. Официальный курс фотошоп книга скачать. . Оптовая продажа детской мебели. Продажа детской мебели в салоне gedoni. Детская мебель интернет. . Красивая капика обувь - цены.
© Круглов Сергей. Опубликованные на сайте алгоритмы можно свободно использовать и модифицировать.
Система управления сайтом CAPTCHA.ru: Managee
пароварка philips hd 9140 . Сантехника для ванн: подвесной унитаз - тел. В Питере 812 320-00-55. . кредит под недвижимость