Всем привет!
В то время пока я не спеша «причесывал» свой микро-сервис, пользователь vladstudio (уважение ему за его творчество) опубликовал статью про свой, на первый взгляд очень похожий, генератор паролей. Ну что ж, поспешу и я рассказать о своем детище, дабы не было обвинений в плагиате.
Вообще, зародыш идеи возник где-то с год назад и первоначально прототип так же представлял собой одну страничку которая валялась на компе и не пользовалась успехом даже среди меня. Некоторое время назад этот прототип мне снова попался на глаза и я решил немного развить идею — посмотрел похожие сервисы в сети, почитал идеи о которых писали на хабре и конкретно такой реализации мне не встретилось. В итоге получился сервис pswd.me
Сразу прошу меня простить если у кого-то сервис не будет работать или будет работать некорректно — протестировать во всех браузерах и на всех системах возможности нет, об ошибках прошу сообщать в личку. Так же сервер может тормозить или вообще упасть из-за хабраэффекта —
Интерфейс
- Типы кодирования
No encoding — текст как есть, без кодирования
Simple — простая замена
Base64 — он самый
Simple+3 — простая замена + 3 доп. символа
S+Base64 — Simple+3 и еще дополнительно в Base64
TEA — Block TEA (Tiny Encryption Algorithm)
AES — Rijndael (AES) - Тема (влияет только на визуальное восприятие). 5 предустановленных тем, можно указать URL на свою тему.
- Опции отображения букв и символов
- Визуальное представление букв и символов
- Пароль в виде картинок
- Пароль в виде текста
- Картинка, с зашитым в нее зашифрованным паролем
- QR-код с ссылкой
- И собственно сама ссылка на восстановление пароля
Генерации пароля
- Выбираем тип кодировки
- Выбираем тему из доступных или указываем какую-нибудь свою (я использую темы размером 576х192, одна картинка 48х48). Пример. Или можно вообще подготовить маску вроде такой).
- Дальше нажимаем на картинки генерируя при этом пароль. Но метод запоминания картинок вместо букв, плохая затея — испытано на себе. Поэтому нужно использовать другие варианты, например:
Нажимаем картинки в определенной последовательности
Если нажимать змейкой, то получаем пароль an1;3rgt7`9x
Нажимаем картинки только с определенным цветом
Все зеленые животные, в обратном порядке, тип кодирования «S+Base64» — получаем пароль aFhHblo7emB+fHI8Uj91Ww==
Нажимаем одну картинку и используем типы кодирования TEA или AES
Российский флаг и AES дают нам пароль e13b43d2883bc20862f415bb14c168b2
Это лишь несколько примеров, уверен запросто придумаете свой оригинальный.
- Пароль сгенерировали, нажимаем кнопку «Get code» и получаем 2 картинки. В первой картинке зашит зашифрованный пароль. Вторая картинки это QR-код со ссылкой (та, что справа) на восстановление пароля.
Напоминание пароля
Для напоминания пароля есть несколько вариантов
- Собственно, на главной странице нажать те же картинки что и при генерации (нужно помнить что нажимать)
- Открыть страницу с параметрами через QR-код или сохраненную текстовую ссылку
- Воспользоваться специальной формой, через которую нужно загрузить картинку с зашитым паролем
- Установить плагин (пока только для Firefox и еще на стадии проверки)
Заключение
Конечно же, данный сервис не претендует на уникальность и не спасет от всех проблем с запоминанием и хранением паролей. Да, это еще один велосипед, может быть в чем-то более удобный, но он точно не без минусов. В зависимости от откликов и востребованности сервиса, я его буду (или не буду) развивать. Буду рад конструктивным замечаниям, дополнениям и пожеланиям.
Что касательно недоверия к обфусцированному коду — пока в коде много мусора, когда будет готова страница c хэлпом выложу туда js исходники. С главной страницы ничего на сервер не передается, кроме запроса на генерацию картинки с зашитым паролем. Посмотреть что делает плагин не составит большого труда, код там без обфускации.
Это моя первая статья на хабре не про структуры данных в java )
1 — сервис расположен на бесплатном Java-хостинге OpenShift. При вводе адреса pswd.me происходит редирект на pswd-rda.rhcloud.com, не пугайтесь, это настоящий адрес сервиса. Нормально прикрутить свой домен у меня пока не получилось.
Автор: tarzan82