На Хабре и Гиктаймсе уже было много написано слов про пароли. В интернете можно встретить много программ и плагинов/аддонов для паролей. Браузеры умеют сохранять пароли. Казалось бы всё уже есть. Но нет, мне не хватало своего велосипеда, потому что все старые велосипеды имеют свои недостатки. Главный недостаток всех программ — это их база данных, которая может легко убиться. И я через это прошел. Самая известная программа KeePass (точнее её форк KeePassX) у меня дважды убивала сама свой файл. Не знаю, как сейчас, но два года назад она не умела делать резервную копию базы и если место заканчивалось или падала, или ещё что — файл базы легко становился размером в 0 байт. Единственная программа, которая мне нравилась — это Password Commander, она сама делала резервную копию, но, к сожалению, проект умер и был он только под Масдай.

Люди делятся на тех, кто не делает бэкапы и тех кто уже делает.

2-3 года назад у меня родилась и развилась идея своего велосипеда — генератора паролей. Разумеется, идея не новая и её вариации имелись у многих и много раз обсуждались. На Хабре, в статье "Генерация xkcd паролей на PHP" я высказал свою идею ещё в 2014 году и после этого, не спеша начал её реализовать и обкатывать. И вот в середине 2015 у меня появился плагин для браузеров ?No PASSaran, о котором я и хотел бы рассказать в этом материале.

image


Кому лень читать путь к успеху моего молодого, динамично развивающегося проекта — можете сразу перейти на онлайн версию ?No PASSaran или перейти на GitHub/Bitbucket

Кроме выше описываемого недостатка — смерть базы данных, все менеджеры паролей обладают ещё рядом недостатков (перечислю с оправданиями):
  • Невозможность всегда и везде носить с собой базу. Конечно, в век интернета и облаков — это не серьезный недостаток и, в принципе, всегда можно иметь копию на телефоне или в облаке;
  • Это множество паролей, это надо искать по базе, то есть медленный доступ к данным. Конечно многие менеджеры уже научились встраиваться в браузеры и в приложения и автоматом вбивать данные;
  • Например, у браузеров надежность хранилища не очень хорошая. Разумеется можно поставить мастер-пароль, но и его можно перехватить кейлоггером.
  • Ни в одном менеджере нельзя восстановить пароль.


Если не пользоваться менеджером, то запоминать сотни паролей не вариант и поэтому люди используют, в лучшем случае, пару паролей. Либо хранить в файлике, который в лучшем случае под паролем.

Я попытался избежать всех этих недостатков в своём велосипеде. Некоторые конечно пока не полностью решены, а некоторые ещё в планах. Но об этом ближе к концу статьи.

В настоящее время существует два популярных варианта «генерации» паролей и/или запоминания. Оба эти варианта описаны на популярной в сети картинке:

image


Второй вариант вроде бы взламывается дольше, судя по статье (см. ссылку выше) и комментариям к статье. Но мне кажется, если он будет один и везде, что многие и делают (везде используют один пароль), то украв его однажды — можно взломать и угнать множество аккаунтов. А по моим наблюдения (не претендую на истину) и взломать можно проще, ибо можно собрать базу часто используемых слов (особенно в языках без суффиксов и окончаний) и подобрать их пары, ведь большинство будут использовать от 2 до 4 слов, это примерно как брутить 2-4 символьные пароли, но только по чуть большей базе, ведь со спец.символами количество «слов» тоже немаленькое. А сюда ещё можно добавить ограничение сервисов — некоторые сервисы разрешают только ограниченное число символов, что ещё больше сокращает перебор. А для пользователя очередная трудность — надо запоминать или придумывать новый пароль, или использовать везде более короткую версию. И в данном случае не принимая во внимание, что другие сервисы просят как минимум 1 цифру или спец.символ.

В своём велосипеде я попытался объединить и улучшить, взять лучшее от этих вариантов. От второго варианта то, что надо иметь 3 слова (я их назвал соль, алгоритм и мастер пароль), а от первого — финальная версия пароля получается в MD5, а ведь именно часто в MD5 хранится пароль на сервере.

Изначально я придумал и использовал простенький алгоритм для сайтов, типа такого:

  • Был мастер пароль, допустим quaka42eqava
  • Далее брал сайт, например example.com, и получал из него другие части, например: example, 7, com, moc, 3; думаю, понятно, что из чего следует?
  • Третьим шагом получал новый пароль moc3quaka42eqava7example

Данный вариант лёгок в запоминание, не надо с собой таскать базу и удовлетворяет обоим требованиям, которые описаны на картинке. Но у него есть узкие места:

  • например, я попал бы на сайт злоумышленника и ввёл там свой пароль, созданный для его сайта сайтзлоумышленника.рф => фр2quaka42eqava18сайтзлоумышленника. Посмотрев на пароль — он мог бы понять его алгоритм и угнать часть моих аккаунтов
  • постоянно разбивать домен и считать символы надоедает

Из-за чего я усовершенствовал алгоритм. Так как все пароли хранятся на серверах в зашифрованном виде, а именно часто в MD5 (с солью), то решено было пойти по тому же пути и добавить шифрование к этому алгоритму. Но это вызывало ещё одну сложность — постоянно открывать консоль или MD5 генератор и вбивать туда данные, поэтому я начал записывать пароли в файлик, что отбросило мою идею в каменный век, вернув её к самому узкому месту — базе данных паролей, который могут украсть или файл может повредиться и с собой его не возьмешь (только если специально). Разумеется если от кражи можно защититься ещё одним паролем, которым закрыть базу данных, то от порчи файла, которая может достаточно легко произойти на шифрованном файле — никто не застрахован. И я решился, точнее добрался до откладываемого проекта.

Итак, представьте, что свой личный проект забросили (извините, конечно же отложили, чтобы вернуться, когда будет время!)

Dreddik
(в статье и где-то в комментариях на Хабрахабре)


Как пользоваться


Допустим, вы придумали три части, для примера: Мастер пароль, как и раньше quaka42eqava, соль — имя домашнего питомца «Кузя» и алгоритм — свой номер телефона (Пароль — чувствителен к регистру, а соль и алгоритм нечувствительны к регистру). Вбиваем соль и пароль в настройки плагина и они сохранятся там. Затем переходим на интересующий нас сайт, где хотим зарегистрироваться/авторизироваться, ставим курсор на поле с паролем и нажимаем кнопочку плагина на панели браузера, после чего в появившемся окне вбиваем мастер пароль и жмём кнопку OK или Enter. Пароль будет автоматически сгененрирован и вставлен в поле, где был курсор.

Данный плагин и онлайн версию можно использовать не только для сайтов. Если вам необходим пароль для сторонней программы, то необходимо в онлайн версии или в гостевом режиме плагина поставить галочку на «Забыть про домен».

Дополнительно доступны 4 кнопки (в онлайн версии 3):
Кнопки-иконки ?No PASSaran
image

  • Копировать пароль в буфер обмена
  • Показать сгенерированный пароль
  • Расширенные настройки генерации пароля
  • Гостевой режим (не доступно в онлайн версии, потому что онлайн версия изначально и воспроизводит гостевой режим)


Алгоритмы генерации


Алгоритмы строятся следующим образом. Например, мы указали телефон 88005555555, соль Кузя и мастер пароль quaka42eqava, для сайта example.com. Далее будет три этапа автоматической генерации исходя из алгоритма:

  • Получаем все части (не буду дублировать части):
    • 8 — Первая половина мастер пароля — это quaka4
    • 0 — Доменное имя целиком — это example
    • 5 — Количества символов в зоне — это зона COM, а следовательно 3
  • Полученное складывается в строку, но в начале обязательно добавляется мастер пароль, это дополнительная предосторожность: quaka42eqavaquaka4quaka4exampleexample3333333. Неплохой длины получается пароль, да? Кто сможет прикинуть сколько лет надо на подбор?
  • Последним шагом уменьшаем число лет на подбор, а именно перегоняем эту строку в MD5 => md5(quaka42eqavaquaka4quaka4exampleexample3333333) => f837bab2e4d20a53e884a42e9473708a

Алгоритмы возможно строить двумя способами — базовым и расширенным.

Базовые способ построения алгоритма


Для базового алгоритма доступны все буквы (русские и английские) и цифры, их надо указывать единым «словом».

  • 0 — Доменное имя целиком (alias: a, k, u, а, й, у, э)
  • 1 — Доменная зона целиком (alias: b, l, v, б, к, ф, ю)
  • 2 — Первая половина домена (alias: c, m, w, в, л, х, я)
  • 3 — Вторая половина домена (alias: d, n, x, г, м, ц)
  • 4 — Количества символов в домене (alias: e, o, y, д, н, ч)
  • 5 — Количества символов в зоне (alias: f, p, z, е, о, ш)
  • 6 — Соль целиком (alias: g, q, ё, п, щ)
  • 7 — Мастер пароль целиком (alias: h, r, ж, р, ъ)
  • 8 — Первая половина мастер пароля (alias: i, s, з, с, ы)
  • 9 — Вторая половина мастер пароля (alias: j, t, и, т, ь)


Расширенные способ построения алгоритма


Разумеется, их можно и нужно использовать с цифрами из базового алгоритма.
Для расширенного способа обязательно использовать цифры разделённые любым символом, кроме цифр и букв. Данные алгоритмы будут дополняться.

  • 10 — Перевернутое доменное имя целиком
  • 11 — Перевернутая доменная зона целиком
  • 12 — Перевернутая первая половина домена
  • 13 — Перевернутая вторая половина домена
  • 14 — нет
  • 15 — нет
  • 16 — Перевернутая соль целиком
  • 17 — Перевернутый мастер пароль целиком
  • 18 — Перевернутая первая половина мастер пароля
  • 19 — Перевернутая вторая половина мастер пароля
  • 160 — Первая половина соли
  • 161 — Вторая половина соли
  • 162 — Перевернутая первая половина соли
  • 163 — Перевернутая вторая половина соли

То есть например 8-8-0-0-163-10-13

Рекомендуется обязательно использовать элемент алгоритма с доменом — 0, 2, 3 и т.д.

Расширенные настройки


На некоторых сайтах, например Яндексе, требуется установить пароль один на все поддомены. Для этого необходимо активировать настройку «Отключить поддомены», после этого при генерации будут игнорироваться поддомены и использоваться только домен. Внимание! Если вы уже создали пароль на поддомене, то он больше не подойдет, необходимо будет снимать галочку на том поддомене.

Есть сайты, которые запрещают использовать более определённого числа символов в пароле. На таких сайтах можно включить настройку обрезания. В ?No PASSaran используется стандартная javascript функция substr, поэтому подробности, как обрезать строку можно посмотреть в документации к этой функции. Пример использования:
Предположим у нас будет сгенерирована строка «абвгдеёжзи», то вбив в поле «Обрезать» числа, у нас будет следующее

-3, 2  => жз
-3     => жзи
 1     => бвгдеёжзи
-20, 2 => аб

Все эти настройки хранятся в браузере. В следующих версиях появится возможность сохранять расширенные настройки в файл, для переноса между браузерами и компьютерами.

Преимущества и недостатки

Теперь не надо хранить сотни паролей ни на компьютере, ни в голове, ни в блокнотике. Все пароли уникальные и взломать или украсть их почти невозможно. Пароль состоят из двух частей (трех элементов): Мастер пароль и алгоритм с солью, которые отделены друг от друга. Алгоритм и соль хранятся в браузере и их могут украсть, завладев вашим компьютером, но злоумышленники всё равно не смогут получить пароли ваши. Если же будет украден мастер-пароль, например с помощью кейлоггера, то не зная алгоритм и соль — они не смогут получить доступ к паролям.

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

Данные пароли сложно поддаются социальной инженерии.

Пароли можно передавать по незащищённому (http) соединению. Даже если пароль будет перехвачен для текущего сайта, пароли от других сайтов останутся в безопасности.

Из недостатков:

  • Необходимо помнить три ключевых «слова». Хотя соль и алгоритм можно не запоминать, а написать на листочке и спрятать в сейф, чтобы когда нибудь восстановить, если вдруг потребуется, но тогда не будет доступна онлайн версия, если вы забудете.
  • Необходимо иметь под рукой компьютер с плагином или зайти на онлайн версию.
  • На данный момент нет спецсимволов, но они запланированы


Ещё немного о ?No PASSaran


В последней версии добавлена возможность генерировать пароль в режиме гостя. Благодаря этому можно на одном сайте иметь несколько аккаунтов с разными сгенерированными паролями. Для этого можно, например, в поле «Соль» прописать текущий логин и используя эту соль-логин будет сгенерирован уникальный пароль. Зная очередной логин — не надо будет вспоминать пароль, ведь всё остальное (алгоритм и мастер-пароль) используется как и прежде.

Я этим плагином пользуюсь с апреля 2015 года. Всю красоту и удобство испытал на себе. Приглашаю и вас воспользоваться данным плагином абсолютно бесплатно, без регистраций и СМС.

Ссылки и установка


Онлайн версия на зеркалах GitHub'а:


Онлайн ?No PASSaran. Зеркало 1
Онлайн ?No PASSaran. Зеркало 2
Онлайн ?No PASSaran. Зеркало 3

Репозитории


GitHub и Bitbucket

Расширения для браузеров:


Для Хрома и подобных ему браузеров



Для Firefox




PS Не ругайтесь сильно на код.
Оцените идею

Проголосовало 135 человек. Воздержалось 75 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделиться с друзьями
-->

Комментарии (54)


  1. zirus
    30.08.2016 12:52
    +1

    О, велосипед :) Но… нафига? Почему не случайный набор символов для пароля? Чтобы при порушенной базе можно было восстановить все пароли ко всем сайтам? А если захочется сменить пароль на один сайт — как быть? Неужели нужно будет для каждого сайта помнить «соль», «алгоритм», и «мастер-пароль»? Эээ…

    Может быть для того, чтобы решить проблему резервного копирования базы паролей того же keepass, надо просто начать делать резервное копирование?


    1. BaNru
      30.08.2016 13:13
      +1

      Чтобы при порушенной базе можно было восстановить все пароли ко всем сайтам?

      Тут как таковой базы нет, исключение только редкие сайты, где какие-либо ограничения на пароль. Не надо восстанавливать, оно генерируется.

      А если захочется сменить пароль на один сайт — как быть? Неужели нужно будет для каждого сайта помнить «соль», «алгоритм», и «мастер-пароль»?

      Да. Действительно минус. Не подумал. Но на этот случай можно иметь просто мастер-пароль1, мастер-пароль2 и так далее. Сейчас у многих, кто постоянно меняет пароли имеется несколько паролей. Но в любом случае согласен, что неудобно в данном случае. Спасибо за отзыв.

      Может быть для того, чтобы решить проблему резервного копирования базы паролей того же keepass, надо просто начать делать резервное копирование?

      Зачем лишние трудности?


  1. Lure_of_Chaos
    30.08.2016 12:55
    +1

    И тут золото превращается в черепки: https://tproger.ru/articles/md5-hacking/


    1. BaNru
      30.08.2016 13:08

      Помимо MD5 в планах и другие алгоритмы добавить, на выбор.
      И может быть придумать что-то ещё, в частности со спец.символами.

      Для пример сгенерировал пароль
      image
      и вбил на сайте
      image

      И даже, если учесть, что однажды какой-то пароль окажется в радужной таблицу.

      Далее в приведённой статье говорится про соль. Но если внимательно прочитать мою статью, то можно увидеть ещё более сложный алгоритм.

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

      Сейчас размышляю над идеей о шифрование соли и алгоритма дополнительно мастер-паролем.


  1. thousandsofthem
    30.08.2016 13:03
    +1

    1) бэкапы!
    2) если кинуть базу скажем в дропбокс то можно будет вытянуть недавнюю историю через сайт
    3) keepass у меня ни разу не крашило базу, пользуюсь на трех разных ОС ежедневно многие годы
    4) есть плагин для автоматического бэкапа (только windows), умеет хранить N последних копий
    5) «Невозможность всегда и везде носить с собой базу» — для keepass не актуально. есть клиенты под все популярные платформы. синхронизация через дропбокс (для android рекомендую dropsync) или аналог. база всегда доступна оффлайн


    1. BaNru
      30.08.2016 13:19

      Теперь осталось научить этим все пользоваться домохозяйку.

      Я согласен, что моему велосипеду тоже надо учить. Но это не сложнее, чем научить использовать NoScript. А этому я учил уже многих людей и люди довольны.

      Позже в планах тоже сделать синхронизацию для тех редких сайтов, где требуются особенные пароли, но в любом случае это надо сделать как-то проще. В остальных случаях, точнее в 99.9% случаев — это не надо.

      Если по пунктам:
      1 и 2 — на это в статье комментировал
      3 — у меня было дважды, один раз когда закончилось место на диске, второе — когда сделал хардресет.
      4 — есть плагин чтобы пользоваться плагином, для которого тоже есть плагин который помогает пользоваться плагином, чтобы пользоваться плагином
      5 — останется только где-то эту базу оставить или потерять телефон с незапароленным keepass'ом


      1. thousandsofthem
        30.08.2016 13:26
        +1

        останется только где-то эту базу оставить или потерять телефон с незапароленным keepass'ом

        В чем проблема, это же keepass. Если мастер пароль нормальный — оббрутфортьсесь на здоровье. Если нет — ССЗБ.


        И да, паролей которые какие-то нестандартные у меня около половины. Или мне их дают и сменить нельзя, или странные требования безопасности или еще чего


        1. SenGaJi
          30.08.2016 13:42
          +1

          Честно поставил KeePass, но не смог его настроить. Муторно там как то все. И готовые пароли из хрома он не достает и синхронизация там с OneDrive непонятная какая то.


          1. polearnik
            31.08.2016 10:35

            готовые пароли из хрома он не достает
            Если кипас мог бы достать пароли из браузера то логично что этим может заняться и малварь Как противодействие этому браузеры вроле как иногда меняют алгоритмы хранения и тот факт что программа внезапно потеряет функционал както не особо порадует пользователя


            1. ploop
              31.08.2016 11:40

              Для себя я просто разграничил: пароли от всякой фигни в браузере, от серьёзных вещей (типа банк-клиентов) в KeePass.
              Да и «всякая фигня» в KeePass тоже дублируется по остаточному принципу, так как там есть удобный поиск.


        1. BaNru
          30.08.2016 14:12

          Или мне их дают и сменить нельзя, или странные требования безопасности или еще чего

          Ну данный велосипед сделан немного для другого — для интернета в первую очередь.
          У меня нет таких паролей, которые нельзя сменить. Ну разве что от интернета только и банковской карточки, где двойная аутентификация с кодом из банкомата и СМС. Ну и госуслуги. Больше не припомню.


      1. ploop
        30.08.2016 16:28

        останется только где-то эту базу оставить или потерять телефон с незапароленным keepass'ом

        По дефолту база закрывается (если не ошибаюсь со временем) через минуту простоя для мобильных версий. Пароли из буфера обмена тоже удаляются.


        1. BaNru
          30.08.2016 16:30
          -1

          Чо-то вспомнилось


      1. dom1n1k
        30.08.2016 16:55

        Пример с NoScript явно неудачный — очень неудобный и непонятный плагин.


        1. BaNru
          30.08.2016 17:08

          Однако, вполне люди разбираются.


    1. lyadnov
      31.08.2016 04:58

      Для Android рекомендую бесплатный Keepass4Android. Он одновременно держит локальную копию базы, и пытается при старте стянуть свежую копию из облака (dropbox, google drive) + умеет синхронизировать базы, если одновременно поменялась локальная и удалённая.


  1. SenGaJi
    30.08.2016 13:05

    Ну давай автор, защищай идею.


  1. habradante
    30.08.2016 13:20
    +1

    Получается что где-то надо хранить незапароленные соль и мастер-пароль. На мой взгляд, тут две проблемы и их надо разделять:
    1) проблема зпоминания большого количества разных паролей
    2) создание достаточной сложности паролей для взлома
    Вторая проблема решается путем усложнения пароля и тут масса способов и ваше решение просто повторяет их (добавление дополнительных символов и увеличение длины пароля)
    Первая же проблема вытекает из второй, такие сложные пароли и в таком количестве сложно запоминать.
    Решение, к которому приходит большинство — создание алгоритма генерации пароля. Причем, такого, который сможет запомнить человек.

    Допустим, человек придумал такой алгоритм и успешно его запомнил. Тогда он может избавиться от программ для запоминания. НО! Дело в том, что количество мест, для которых нужно создавать уникальный пароль столь велико, что количество учитываемых параметров при генерации увеличивается и выходит за рамки человеческого желания их запоминать. А еще, иногда, эти параметры могут поменяться, например, сайт переехал на другой домен и надо менять пароль и вспоминать на каком домене он был до этого (если один из параметров был домен).

    Человек, в конечном итоге, выбирает более простой путь, использовать менеджер для хранения паролей. Надо просто настроить бэкап файлика с базой. Тут сразу решается проблема взлома алгоритма генерации пароля и запоминания. Т.е. на данный момент, мне видится что менеджеры паролей предпочтительнее таких вот универсальных генераторов.

    Где-то на Хабре была статья про бумажную карточку, которая является офлайновым генератором паролей. Так вот с точки зрения безопасности, она даже предпочтительнее онлайнового генератора, т.к. снижает вероятность взлома такого плагина и решает проблему синхронизации между всеми устройствами.

    А вообще пароли это узкое место в системах безопасности. Биометрия в этом плане более выигрышна, т.к. избавляет от необходимости запоминать что-либо. С другой стороны, во всех местах используется один и тот же «биопароль», взломав который можно сразу получить доступ ко всему.


    1. BaNru
      30.08.2016 14:07

      Спасибо за такой развернутый комментарий.
      Всё правильно и по делу. Почти и возразить нечего.

      в таком количестве сложно запоминать

      В моём велосипеде не сложнее чем запомнить «лошадь скрепка батарея»

      Человек, в конечном итоге, выбирает более простой путь


      Вы часто помогали как «тыжпрограммист»? Я бывало и постоянно «я не могу войти в одноклассники, в вконтактик». Большинство при этом имеют один пароль везде и часто типа Настя1981 или Костик2007. Вот таким я теперь точно буду ставить и запоминать там особо нечего будет, придумаю для них всех индивидуальные легкие соли и алгоритмы.

      Сам я ушел от keepass к своему велосипеду. Для интернета я уже ощутил всё удобство и плюсы. Это точно проще, чем использовать keepass, действий при этом, от стандартного способа увеличивается всего на два — это щелкнуть по значку плагина и потом нажать ENTER или OK. В планах добавить ещё автозаполнение других полей и, может быть, шифрование, ведь тут уже надо будет базу. База эта всё-таки будет не жизненнонеобходима и её потеря или отсутствие в 99.9% случаев будет не смертельны.

      Ну и keepass для домохозяек однозначно сложно.

      Повторю, что вы всё правильно сказали, кроме сложности запоминания, остальное это сугубо личное мнение и выбранный путь, а не спор.


      1. habradante
        30.08.2016 14:24

        Для «домохозяек» более секьюрный вариант — бумажка с паролями под клавиатурой, ее никакие вирусы не выкрадут. Я обычно таким людям сам генерю пачку паролей, они их записывают и пользуются. И, кстати, большинству нужны пароли не для сайтов, а для программ: скайп, аська, почтовый клиент, мобильный банк.

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

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

        Насчет кипаса для таких людей я польностью согласен, банально забывают сохранить изменения в базе. Вообще такого рода программы, как бэкапы, только когда беда случится, тогда начинают задумываться, а до тех пор «ой, это сложно».


        1. BaNru
          30.08.2016 15:14

          бумажка с паролями под клавиатурой

          Сразу видно, не был тыжпрограммистом.
          И бумажки, и блокнотики, и тетради под системником… ничего не помогает, максимум пару месяцев и теряют.
          А если повезло и не потеряли, то там ад творится в записях, что даже черт ногу сломит.

          чем «я забыла какая у меня соль» или «ты рассказывал, но ты же знаешь, я в этом ничего не понимаю и не слушала».

          Тут я уже ответил
          придумаю для них всех индивидуальные легкие соли и алгоритмы

          Например всем поголовно дату рождения в алгоритме и имя в соли.
          А пароль пусть хоть Настя1981 ставят, зато точно не будет «у меня вконтактик взломали».


          1. servermen
            30.08.2016 15:29

            Так значит это дело можно использовать для генерации сложного мастер-пароля от базы в keepass, чтобы можно было со спокойной совестью держать бэкапы на каком-нибудь облаке, и при этом, случайно, этот самый мастер-пароль не забыть?


          1. habradante
            30.08.2016 15:36
            +1

            Сразу видно, не был тыжпрограммистом.

            Как раз был, поэтому сразу выдавал расчерченную на три столбика и 10-20 строчек бумажку. Людям просто следовать правилу, когда не они его придумали.

            «Контактик» часто ломается без подбора пароля.
            Я, кстати, не очень долго был «тыжпрограммистом», потому что я не любил помогать людям, которые сами не хотели себе помогать. Поэтому я сразу спрашиваю во сколько люди оценивают безопасность той или иной информации. Если «не хочу чтобы сосед Васька знал», то это бумажка с паролем. Потеря такого рода информации не великая потеря и люди не хотят заморачиваться ради ее охраны. А вот если «тут все мои сбережения», то, как правило, человек легко выучивает и как пользоваться менеджером паролей и двухфакторную аутентификацию.

            Изначально в диалоге «тыжпрограммиста» и «домохозяйки» первый неверно полагает, что второй понимает суть проблемы. Решать вопросы обучения и безопасности можно и нужно строго ПОСЛЕ того, как второй участник поймет зачем это надо. До тех пор «домохозяйка» сама будет ломать стену безопасности со своей стороны.


            1. BaNru
              30.08.2016 16:34

              Ну у всех разные подходы и разные люди.

              У меня в половине случаев тетрадки терялись. Я говорил, что заводим тетрадку или блокнот и храним под системником, в неё записываем всё, что говорят. Однако спустя полгода-год, обязательно такие люди хватают всякие майлрушки приходится всё переустанавливать. Потом большую часть времени тратится на восстановление паролей.


      1. Self_Perfection
        30.08.2016 17:45

        Для интернета я уже ощутил всё удобство и плюсы. Это точно проще, чем использовать keepass, действий при этом, от стандартного способа увеличивается всего на два — это щелкнуть по значку плагина и потом нажать ENTER или OK.

        Есть аддоны, интегрирующие keepass с браузерами.


        1. BaNru
          30.08.2016 17:51

          #comment_9539824
          и

          есть плагин чтобы пользоваться плагином, для которого тоже есть плагин который помогает пользоваться плагином, чтобы пользоваться плагином


    1. geisha
      31.08.2016 12:09

      Касаемо последней ремарки:

      Давайте рассуждать так: если нет защищенного канала или хранилища, обсуждать методы аутентификации бесмыссленно. Все можно подсмотреть/украсть/отрезать. Но если, скажем, украсть нельзя, то подойдет физический USB ключ. Если подсмотреть нельзя — то пароль. Если отрезать нельзя — то биометрия. Все просто + можно комбинировать. Двухфакторная аутентификация, к примеру, подразумевает, что украсть и подсмотреть одновременно не получится (ну да, конечно).


  1. SenGaJi
    30.08.2016 13:38
    +1

    Одно время искал какое то приложение для паролей, не только генерировать, но и хранить. Потом забил. Твое решение хорошо.
    Что меня не устраивает. У меня уже есть некоторое количество сайтов на которых созданы учетные записи и переписывать пароли не весело. Потом если я прихожу куда то мне нужен пароль, мне надо найти твой сайт, ввести там данные и получить пароль. Программа на телефоне могла бы избавить от этого, нажал кнопку получил пароль для сайт, причем в программе уже введены соли и алгоритмы… надо только домен ввести и получить пароль.
    Как то примерно так.


    1. BaNru
      30.08.2016 13:55

      На данный момент — есть плагины для браузеров, ради них и затевалось. Не обязательно искать сайт. Сайт сделан на тот случай, если ты вдруг оказался в гостях. В планах сделать и приложения. Пока останавливает то, что для этого надо будет node.js с хромиумом. Сам код с файлами на данный момент 40-60 кб для каждого браузера или для онлайн версии, а приложение будет весить в разу больше. Это конечно придирки и мелочи в наше время, поэтому чуть позже будет в виде приложения.

      Сейчас как раз и работает

      Программа на телефоне могла бы избавить от этого, нажал кнопку получил пароль для сайт, причем в программе уже введены соли и алгоритмы

      Надо ввести лишь пароль, плагин автоматом берет сайт из браузера.

      У меня уже есть некоторое количество сайтов на которых созданы учетные записи и переписывать пароли не весело

      На данный момент я не перебивал на старых сайтах пароли, я заменяю постепенно, по мере необходимости и использования.
      У меня есть и блокнотик до сих пор и старые универсальные пароли. Постепенно избавляюсь от этого.


      1. ozmg
        31.08.2016 05:00
        +1

        Вы часто помогали как «тыжпрограммист»? Я бывало и постоянно «я не могу войти в одноклассники, в вконтактик». Большинство при этом имеют один пароль везде и часто типа Настя1981 или Костик2007. Вот таким я теперь точно буду ставить и запоминать там особо нечего будет, придумаю для них всех индивидуальные легкие соли и алгоритмы.
        На данный момент — есть плагины для браузеров, ради них и затевалось. Не обязательно искать сайт. Сайт сделан на тот случай, если ты вдруг оказался в гостях. В планах сделать и приложения.
        Я вижу еще одно типичное применение вашего сайта — если пользователь захочет зайти в обозначенные выше «одноклассники» и «вконтакте» через мобильный телефон (как родное приложение, либо через веб-браузер). В таком случае ему либо придется иметь под боком настроенный вами компьютер с установленным плагином и перепечатывать 20+ символов вручную на тачскрине, либо, если такое возможно, воспользоваться заранее настроенным мобильным браузером вроде Firefox с установленным плагином, либо заходить на сайт. После чего вводить на тачскрине домен и мастер-пароль, что уже само по себе сомнительное удовольствие, тем более не исключена вероятность допущения ошибок. Скорее всего, данный сценарий выльется в звонок вам для получения подробных инструкций — а оно вам надо?

        Но есть еще одна, более глубокая и важная проблема — она кроется в том, что плагин ограничен в использовании исключительно вебом: если в случае с тем же KeePass пользователю будет понятно, где искать все данные, что он не в состоянии запомнить (начиная от паролей и заканчивая пин-кодами, ответами на секретные вопросы и прочее), то в вашем случае хранение вынуждено фрагментируется. Мастер-пароль пользователь держит в голове, пароли для веб-сервисов генерирует через плагин к браузеру, данные для банк-клиента хранит в блокноте, а пароль для логина в ОС — вообще на листочке под клавиатурой. К сервисам, где невозможно/неудобно использовать ваш плагин, всё вообще будет по старому — либо один пароль на всё (и еще повезет, если это не мастер-пароль), либо в голове. Также интересна ситуация с сервисами, которые высылают предустановленные пароли по почте — пользователь может запросто забыть его сменить, а потом гадать, почему сгенерированный вашим плагином пароль не подходит. Я уж молчу, что у пользователя также может быть несколько почтовых ящиков и/или логинов, он может забыть под каким именем/почтой где регистрировался (и регистрировался ли) и прочее — ваш плагин такие проблемы не решает. В результате мы имеем ситуацию, когда пользователь рано или поздно, но что-то да потеряет/забудет — да, формально это не будет иметь отношения к вам/вашему плагину, ведь он покрывает исключительно пароли к веб-сервисам, но фактически ответственным за выбор такого фрагментированного способа хранения всё равно остаетесь вы.

        Я хочу лишь сказать, что полумеры в вопросе хранения паролей совершенно неуместны. А если рассматривать ситуацию комплексно, то можно обнаружить, что городить свои велосипеды уже нет никакой необходимости — ведь существуют реализованные проекты практически на любой вкус и цвет.


        1. BaNru
          31.08.2016 06:00

          Для первого случая и сделана онлайн версия.
          Однако, как я тут уже писал в комментария, приложение, в том числе и для Андроид — будет. Не сразу, ибо не писал ещё, но будет. И да, я разок так перепечатывал в приложение для Али, удовольствия никакого :)
          Но данная проблема полностью охватывает и остальные менеджеры паролей.

          Вторая проблема.
          К сожалению, вот так вот сразу, охватить всё и вся не способна ни одна программа, особенно на этапе зарождения. Если будет спрос и запросы на создание базы для тех сайтов, где нельзя сменить пароль — то это будет реализовано. Да и написано всё это на говнокоде JS, так что любой может форкнуть или написать своё. Про несколько почтовых ящиков — я писал: в принципе можно вместо соли писать имя ящика. Да, это получится надо запоминать отдельно, что тут надо действовать по другому. Также имеется идея о запоминание логина, для автоматического заполнения и использовать этот логин в алгоритме, тогда данная проблема отпадёт. Ещё была идея хранить пароли сгенерированые вместе с логином. Но что-то не давало покоя в этой идее. И буквально сегодня я понял как надо сделать подобное. Теперь в планах, помимо TODO на гатхабе
          1) Сделать всё таки возможность запоминать пароль, это можно для малозначимых сайтов, и автозаполнение в один клик.
          2) Сделать в алгоритме возможность указывать и сохранять логин и/или брать его автоматически из формы. Это получается четвертое слово или может быть, надо подумать, использовать его вместо соли? Такая идея мелькала в голове.
          3) Сделать две базы для хранения — шифрованную, которая будет шифроваться мастер паролем и дешифроваться, когда его вбиваешь и обычную, для заполнения в один клик. Но это надо продумать ещё.

          Ещё одна идея (правильнее сказать недоработка) вчера родилась, читая комменты — это не отключать поддомен (отключать тоже оставлю), а указывать там приложение, для которого генерируется пароль. Сейчас оно работает непродуманно. А всё потому, что я разрабатывал чисто под себя, у меня не было фидбека. Я бы и онлайн версию не делал и режим гостя, меня полностью устраивало, а пользовался я больше года, но решил вывести в свет этот велосипед. Удобства я ощутил. С некой неприязнью вспоминаю те времена, когда был листочек или txt файлик, когда был keepassx, когда потом были генерации в консоли. Да, есть пару косяков, которые мне попадались, в частности стим сайты, когда пароль на разных доменах надо вбивать, но это редкость.

          Другие подобные приложения я не встречал. Хотя не исключено, что где-то есть брат близнец :)

          Ну и главное, надо было сразу писать это: никто не мешает использовать два менеджера паролей, потому что мой, на данном этапе фактически не менеджер, а генератор паролей для сайтов. Можно им сгенерировать пароль и записать в любимый менеджер паролем и для удобства серфинга, когда требуется пароль — не открывать менеджер паролей, а воспользоваться моим велосипедом, ибо это быстрее.

          (повторю) Надо понимать, что я писал для себя и у меня фидбека не было. После комментов тут, я постараюсь прислушаться к большинству и в будущем сделать на это поправки.


          1. ozmg
            31.08.2016 08:32

            И да, я разок так перепечатывал в приложение для Али, удовольствия никакого :)
            Но данная проблема полностью охватывает и остальные менеджеры паролей.
            Да, вводить на тач-скрине мастер-пароль — действительно то еще удовольствие, но тут вопрос в том, как часто эти пароли нужно вводить на телефоне. К примеру, в Keepass2Android достаточно ввести мастер-пароль один раз, далее для разблокировки базы необходимо ввести лишь несколько последних символов пароля, что значительно быстрее ввода домена и соли. Сам же пароль прекрасно копируется через буфер обмена. Соответственно, если пароль на мобильном телефоне требуется получить раз в месяц — разницы никакой, а если на более-менее регулярной основе, то постоянно запущенный менеджер паролей будет быстрее.
            в принципе можно вместо соли писать имя ящика. Да, это получится надо запоминать отдельно, что тут надо действовать по другому
            В этом и заключается ключевая проблема — исключение тут, исключение там и пользователь уже не помнит, как и куда зайти. Я вам более того скажу, как пользователь менеджеров паролей с 2010 я вообще периодически обнаруживаю удивительные для себя записи — делаю открытия, что я, оказывается, регистрировался когда-то на сайте, который, как посчитал, вижу впервые — при этом находясь в здравом уме и твердой памяти. Т.е. при более-менее частом использовании ваш вариант вполне рабочий, но в сценариях «зарегистрировался в этом интернет-магазине полгода назад» пользователь об этом может и не вспомнить (особенно если сайт сменит дизайн), только посмотреть в вашем случае будет негде.
            С некой неприязнью вспоминаю те времена, когда был листочек или txt файлик, когда был keepassx, когда потом были генерации в консоли.
            надо было сразу писать это: никто не мешает использовать два менеджера паролей, потому что мой, на данном этапе фактически не менеджер, а генератор паролей для сайтов. Можно им сгенерировать пароль и записать в любимый менеджер паролем и для удобства серфинга, когда требуется пароль — не открывать менеджер паролей, а воспользоваться моим велосипедом, ибо это быстрее
            Можно конкретно уточнить, чем вызвал ваше недовольствие тот же keepassx? Про быстроту ввода пароля я с вами не соглашусь — на 95% сайтов достаточно сделать ctrl+f domain, после чего ctrl+v и вы уже залогинились. Да, некоторых случаях придется менять фокус окна и нажимать ctrl+b ctrl+v и ctrl+c ctrl+v, но опять же, всё упирается в частоту использования — если пользователю потребуется несколько паролей подряд, то каждый раз вводить в плагине домен+мастер-пароль будет однозначно дольше. К тому же, существуют плагины для браузеров с интеграцией менеджеров паролей — я ими не пользовался (не было нужды), но что-то мне подсказывает, что там уже частично реализован тот функционал, который вы хотите заложить в ваш плагин.


            1. BaNru
              31.08.2016 09:13

              К примеру, в Keepass2Android

              Повторю, что всё ещё впереди и до мобильных платформ может доберусь.
              Сейчас для этого есть или онлайн версия, если разово надо, или можно попробовать поставить дополнение в браузер. Мне не доводилось ещё использовать аддоны на мобильнике, не было нужды, но в планах есть проверить и, если потребуется, исправить под мобилы.

              В этом и заключается ключевая проблема — исключение тут, исключение там и пользователь уже не помнит, как и куда зайти

              Ещё раз. Проект только запущен в массы, исключения будут искореняться. Конечно все проблемы решить не получиться, тем более в одночасье, но если будет востребовано, то обязательно попытаюсь решить.

              Сейчас диалог выглядит так:
              — господа, я вот придумал свой велосипед, он пока ещё самокат, но удобный
              — Но в нем же нет педалей, какой же это велосипед?
              — Ну будут в будущем, если потребуется
              — Но в нем же нет бензинового мотора, а вот без него очень неудобно. А ещё и крыльев не хватает.

              То что вы озвучиваете эти проблемы, это хорошо, но не может быть сразу и самоката, велосипеда и самолета. Потом, со временем можно будет сделать некий трансформер, но постепенно.

              но в сценариях «зарегистрировался в этом интернет-магазине полгода назад» пользователь об этом может и не вспомнить

              Ну ситуации разные бывают, всё не угадать, а если ещё и придумывать на ходу. У меня например ситуация, то база два раза только на keepass в 2012-13 годах наворачивалась и все сохраненные пароли ушли в небытие. Благо важные пароли у меня в голове, а то представляете какая проблема восстанавливать пароль от ВебМоней? Остальные восстановил, благо это были не пароли, которые мне давали и которые нельзя было восстановить. А были бы такие пароли?

              Исходя из вашей ситуации, то вам бы сервис сказал, что на ваше мыло уже есть регистрация. А если предположить, что регистрация была на умершее мыло? Предположим сервис закрылся, а вы по юной глупости в нем мыло держали. Или отобрали мыло, ибо долго им не пользовались? Как восстановить пароль? Никак! А вот с моим мегасуперкрутыминновационным плагином это можно было бы. Равно также, если сервис не предоставляет восстановление. Я вот с 2008 года много раз терял txt файлики, или в браузере сохранённые пароли. Разумеется люди делятся на тех кто делает бекапы и таких как я. И я с уверенностью могу сказать, что таких как я — больше.

              То что вы придумываете сложные ситуации — это хорошо и под них тоже вероятно будут реализовываться решения.

              Можно конкретно уточнить, чем вызвал ваше недовольствие тот же keepassx?

              Уже много раз писал — база убивалась дважды (это то что я помню, когда большое число паролей уходило в небытие)

              Про быстроту ввода пароля я с вами не соглашусь — на 95% сайтов достаточно сделать ctrl+f domain, после чего ctrl+v и вы уже залогинились.

              А ещё запустить надо, ну и лишние движения, чтобы вы не говорили.

              то каждый раз вводить в плагине домен+мастер-пароль будет однозначно дольше

              Зачем же всё это вводить? Алгоритм вообще лучше не трогать. Если надо для разных сайтов, то только пароль, соль и алгоритм сохраняются в настройках (надо внести после установки). А соль новую и пароль придётся на данном этапе (как это будет исправлено в будущем я писал), если надо вводить на одном сайте. Домен сам определяется, если для него есть надстройки. Вы просто попробуйте в своём любимом браузере (если это не ИЕ) поставить, ради интереса.

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

              И ctrl+f у меня в браузерах это поиск по странице. Если это горячие клавиши для вызова keepass'а, то это серьезный недостаток. Шучу конечно, я понимаю что вы не упомянули ещё одно действие — переключиться на keepass.


              1. ozmg
                31.08.2016 10:19

                Сейчас диалог выглядит так:
                — господа, я вот придумал свой велосипед, он пока ещё самокат, но удобный
                — Но в нем же нет педалей, какой же это велосипед?
                Я конечно извиняюсь, но мой комментарий преследовал другую цель — не бездумно покритиковать вашу нынешнюю реализацию, мне интересней прочитать про решение той или иной проблемы в будущем. Если переформулировать ваш пример, то мы получим что-то вроде:
                — Господа, я вот придумал свой велосипед, он пока ещё самокат, но удобный
                — А каким образом вы собираетесь превращать его в велосипед, если в нынешней реализации рамы конструктивно не предусмотрена возможность установить систему, педали будут задевать асфальт и т.д. и т.п.?
                Исходя из вашей ситуации, то вам бы сервис сказал, что на ваше мыло уже есть регистрация.
                Обычно так и будет, но мой случай не самый типичный, потому что у меня не один (и даже не два) почтовых ящика, на которые я провожу регистрации на сайтах. Но в ряде случаев (более реалистичный вариант для типичного пользователя) в качестве логина используется не почтовый ящик, а никнейм (а он у вас один везде? что делать, если такой никнейм уже занят?). Бывают сервисы, где и логин будет предустановлен — как на том же хетзнере он генерируется из сокращенной комбинации имени+фамилии с добавлением цифр — я, к примеру, запомнить всё это не в состоянии, особенно спустя время.
                Разумеется люди делятся на тех кто делает бекапы и таких как я. И я с уверенностью могу сказать, что таких как я — больше.
                В целом, ход ваших мыслей понятен. Прискорбно, конечно, что бекапов вы до сих пор не делаете (проблем с кипасом можно было избежать используя любой облачный сервис), но что поделать — каждый сам кузнец своего счастья.


                1. BaNru
                  31.08.2016 10:33

                  про решение той или иной проблемы в будущем… не предусмотрена возможность установить систему, педали будут задевать асфальт и т.д. и т.п.?

                  Ну я вам и стараюсь развернуто ответить. Разумеется много с ходу не придумать и возможно придётся колёсики побольше поставить, чтобы педали не задевали асфальт.

                  в качестве логина используется не почтовый ящик, а никнейм (а он у вас один везде?

                  В большинстве случаев один, но были исключения, где не хотел светиться. А вот восстановление и регистрация всё же происходит на мыло в первую очередь.

                  как на том же хетзнере он генерируется из сокращенной комбинации имени+фамилии с добавлением цифр

                  Что-то не припомню, где бы я такое встречал. Тут надо думать.
                  Опять таки, повторю, если будет спрос, то можно развить проект для расширенной базы исключений, вплоть до пользовательских полей. Разумеется это будет уже тот же keepass, но всё же это будет keepass для исключения.

                  Прискорбно, конечно, что бекапов вы до сих пор не делаете (проблем с кипасом можно было избежать используя любой облачный сервис)

                  Делаю и даже на зеркальный RAID, но вручную и редко. И не всё можно и нужно бекапить. Но все мы знаем, что более 95% людей идиоты не бекапят.


  1. wmtoolsnet
    30.08.2016 23:06

    Что только не придумают, лишь бы пароли не запоминать ))


  1. Goodkat
    31.08.2016 00:44

    Проблема procedural generated паролей в том, что нельзя поменять пароль только для одного сайта — нужно или менять мастер-пароль для всех сразу, или записывать, где каким алгоритмом с какими параметрами сгенерирован пароль, а это уже возврат к базе паролей, от которой вы хотели уйти.


  1. Jogger
    31.08.2016 03:38

    >На данный момент нет спецсимволов, но они запланированы
    Увы, сейчас каждый второй сайт требует спецсимволы (будь они прокляты). Без этого функционала плагин практически бесполезен.
    Про то что невозможно сменить пароль на отдельном сайте и почему это плохо — уже написали выше.
    Так что идея хороша, но сыровата.


    1. evpevp
      01.09.2016 00:18

      Кроме того, есть сайты, которые категорически запрещают использование спецсимволов (чтобы долго не искать — worldoftanks.ru).

      Также у некоторых существует ограничение на длину пароля.

      Как все эти взаимоисключающие условия совместить в одном алгоритме?


  1. v1taly_a
    31.08.2016 05:00

    Спасибо автору за интересную разработку! Являюсь активным пользователем arch linux. Огромная просьба, когда будете делать приложение, не забудьте про AUR! Для полного юзабилити очень хочется иметь программу на компьютере, а не только в облаках или браузере. Готов даже материально поддержать автора, для перехода на его программу, чтобы уйти от lastpass или zoho.


  1. virtualtoy
    31.08.2016 06:30

    то же самое, но с большим количеством настроек https://passwordmaker.org/passwordmaker.html


    1. BaNru
      31.08.2016 10:34

      Спасибо за ссылку, не видел. Интересная реализация.


  1. classx
    31.08.2016 09:59

    добавьте пожалуйста еще большие буквы и спецсимволы, а так же возможность выбора длины пароля
    пользуюсь около года http://youshellpass.ru/ — очень доволен.
    теперь буду использовать ваш плагин


    1. BaNru
      31.08.2016 10:34

      Спасибо за ссылку, не видел. Интересная реализация.


    1. BaNru
      04.09.2016 20:55

      Понравилась реализация.
      Добавил данный способ шифрования, как оригинальный, так и с алгоритмом из ?No PASSaran

      Доступно в релизе 1.5-beta и онлайн версии.


  1. mukizu
    31.08.2016 13:30

    Как всегда спасибо за труды. У меня правда уже есть https://1password.com и большего как-то желать не приходится.


    1. stardust1
      31.08.2016 15:53

      На чём основывается уверенность, что эти онлайн-сервисы (ещё и платные) безопасны?


      1. mukizu
        31.08.2016 22:08

        Он не онлайн, а локальный. Онлайн версия сервиса появилась относительно недавно, насколько я помню. Для синхронизации можно использовать как сервера 1P, так и свой. А можно вообще синхронизировать только по wifi в рамках одной сети (приложение имеет свой сервер для этого).

        Главное основание состоит в том, что 1P на рынке с очень давних пор (раньше чем все эти keypassы и иже с ними) и очень хорошо себя зарекомендовал.

        + У программы есть встроенный фунционал проверки сайтов и аудит безопасности.


        1. unhappy
          01.09.2016 00:02

          уточню:
          1Password
          initial release: June 18, 2006

          Keepass
          initial release: November 16, 2003


  1. ArPi
    31.08.2016 15:31

    Небольшое замечание про комикс: во втором случае 4 слова не дадут больше энтропии, если я не ошибаюсь, так как это 4 словарных слова, а не просто 4 набора случайных букв.


    1. Jogger
      04.09.2016 21:08

      Именно как 4 словарных слова они и посчитаны. Количество слов в словаре — это максимальное количество значений в каждом поле. В комиксе принято 11 бит — это ОЧЕНЬ заниженная оценка, то есть 2^11=2048, в английском языке на пару порядков больше слов, даже если пользоваться только самыми распространёнными — оценка останется верной.
      Наверное самые лучшие пароли у китайцев, если писать иероглифами — четыре иероглифа и вуаля — надёжность пароля как в комиксе)


  1. ValdikSS
    31.08.2016 20:29

    http://supergenpass.com/
    Есть поддержка алгоритма во многих сторонних реализациях, в том числе и для мобильных устройств.


  1. corin
    01.09.2016 11:56

    А еще есть сайты с ограничениями на длину паролей. Ну, к примеру, aliexpress — 6-20 символов. С этим тоже надо что-то делать.


    1. BaNru
      01.09.2016 12:17

      Я понимаю, что статья длинная, но первую картинку-то можно было осилить :)
      На этот случай предусмотрено обрезание пароля.
      Для сайтов-исключений, к сожалению, тоже создаётся база.