Online генератор паролей

  1. Главная
  2. Блог
  3. Разработка
  4. Online генератор паролей




Количество символов
Количество паролей

Выберите значения для генерации пароля










Большинство современных сайтов, хранящих клиентскую информацию, используют системы авторизации (идентификации) пользователя. Существуют несколько наиболее распространенных сценариев авторизации:

1. Наиболее распространенный – авторизация пользователя на конечном сайте, используя пару «логин – пароль».  В базе данных такая пара хранится обычно в виде логина в открытом доступе и пароля зашифрованного с помощью некого алгоритма хеширования (md5, sha* и т.д.). Пароль практически никогда не хранится в базе данных в открытом виде.

2.  Так же распространенный, как и первый способ авторизации – открытые API сторонних сервисов (facebook, vkontakte, openID и т.д.). В данном случае логин/пароль хранятся на стороннем сервисе, и избавляет пользователя от головной боли в виде регистрации, а разработчика, в свою очередь, от необходимости задумываться о большинстве аспектов безопасности.

3.  Наименее распространенный  способ – кроссдоменная авторизация (в данный момент используется на habrahabr). Логику работы можете посмотреть там же.

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

Рассмотрим ситуацию на примере четырех паролей:

Незашифрованный парольmd5Время разбора хэша
123456e10adc3949ba59abbe56e057f20f883e15 секунд
Test123456126cfbcd4d16ae6d25c9bfcae76d8ee43 минуты (был в базе)
13886642939064935ce1862aa84c2a2513bec14bc7922 часа 10 минут
e*sT8An6q[5ec19b0ea9355a22d50f59019aa3c5670148 часов, приостановлено

В качестве алгоритма хеширования не случайно был выбран именно md5, поскольку есть вариант парных хэшей. Подбор осуществлялся по базам + радужным таблицам + брутом. Вполне наглядно видна разница во времени расшифровки сложных и легких паролей. Все вычисления происходили на рабочем компьютере, в реальной ситуации вы можете смело уменьшить время подбора в 100 раз. Таким образом, для вашей же безопасности идеальный вариант - использовать авторизацию через сторонние сервисы, пароли устанавливать сложные (в обязательном порядке). Советую так же не сохранять пароли в браузере, а использовать связку keepass+dropbox. Для получения надежных паролей обычно используют так называемые модули генераторов  паролей. Специально для целей наших клиентов мы разработали собственный бесплатный генератор паролей. Пользуясь данным инструментом, вы сможете за 1 секунду создать надежный пароль, который обезопасит ваши данные. JS код (используется jQuery):

jQuery().ready(function () {
 function getRandomInt(min, max) { // Функция для получения случайного целого числа в заданном промежутке
 return Math.floor(Math.random() * (max - min + 1)) + min;
 }
 function getpwd(symb, len) { // Функция для генерации пароля. symb - строка символов для генерации, len - длина пароля
 var pwd = '';
 for (var i = 0; i < len; i++) {
 pwd = pwd + symb[getRandomInt(0, (symb.length - 1))];
 }
 return pwd;
 }
 function escapeHtml(text) { //Функция для экранирования спецсимволов
 return text
 .replace(/&/g, "&")
 .replace(//g, ">")
 .replace(/"/g, """)
 .replace(/'/g, "'");
 }
 var chars = ["abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "0123456789", "!@#$%^&*()_-<>,.[]{};:№?"]; //Коллекция символов
 jQuery("#generate").click(function () { //Генерация паролей ко плику
 if (jQuery("input.innerVars:checked").length > 0 && jQuery("#countpwd").val() > 0 && jQuery("#countsymb").val() > 0) {
 var genspwd = '', symb = '', obj = jQuery("input.innerVars:checked");
 for (var j = 0; j < obj.length; j++) {
 symb = symb + chars[obj[j].value];
 }
 for (var j = 0; j < (jQuery("#countpwd").val()); j++) {
 genspwd = genspwd + '

' + escapeHtml(getpwd(symb, parseFloat(jQuery("#countsymb").val()))) + '

';  }  jQuery("#result").html(genspwd);  } else {  jQuery("#result").html('

Выберите значения для генерации пароля

');  }  })  })

Код html ( без стилей ):

<input type="checkbox" value="0" id="chars" class="innerVars"><span>Строчные латинские буквы</span>

<input type="checkbox" value="1" id="bigChars" class="innerVars"><span>Заглавные латинские буквы</span>

<input type="checkbox" value="2" id="numChars" class="innerVars">Цифры (0-9)

<input type="checkbox" value="3" id="specChars" class="innerVars"><span>Спец символы (!@#$%^&*()_-<>,.[]{};:№?)</span>

<input type="text" id="countsymb"><span>Количество символов</span>

<input type="text" id="countpwd"><span>Количество паролей</span>

<input type="button" id="generate" value="Сгенерировать">
Понравилось? Репост!
Grom
Полезный инструмент. Спасибо! В закладки.
Александр
А генератор случайных чисел у вас есть? ;
Владислав
Извините, но у вас есть ошибки в коде: 1) получаете массив с галочками, но ищите их по всей страничке, галочка в добавлении комментария попадает в массив, программа генерит пароль по набору “undefined”, круто, да? 2) циклы используют переменные i и j , но вы их не определили, их можно определить прям в условиях цикла: for (var i = 0; i < len; i++) 3) почему бы не проверить вначале сколько пользователей указал символов и паролей ему надо, указал ли вообще, поставил ли галочку, а уже потом выполнять генерацию, если удовлетворены все условия?!
Федор Майоров
Вы не могли бы уточнить, какой у вас браузер? Такое поведение скрипта не предусмотрено.
Владимир
Спасибо большое, самый нормальный генератор из всех что находил)
Hatchet
А можете это всё в файл .html или .php залить? А то я себе его поставил, но пароли не генерируются почему-то(