Как создать генератор случайных паролей
Опубликовано: 2022-01-29Постоянные читатели PCMag знают, что мы настоятельно рекомендуем использовать сложный и уникальный пароль для каждого веб-сайта, и что единственный способ сделать это — с помощью менеджера паролей. Загрузка этого инструмента со всеми вашими паролями — хорошее начало, но работа на этом не заканчивается. Вы не будете полностью защищены, пока не замените каждый слабый и повторно используемый пароль уникальным паролем, который никто не сможет угадать и даже вы не сможете вспомнить. Атака взлома пароля методом перебора вполне может поразить такой пароль, как Rover, но она потерпит неудачу, если пароль будет выглядеть примерно так: ApiDiS57IhY1M#t%qIEg.
Где вы берете свои пароли?
Вопрос в том, где вы берете эти случайные пароли? Почти каждый менеджер паролей имеет собственный генератор случайных паролей, некоторые из которых лучше других. Однако в большинстве случаев программа использует так называемый псевдослучайный алгоритм. Теоретически хакер, знающий алгоритм и имеющий доступ к одному из сгенерированных вами паролей, может воспроизвести все последующие сгенерированные пароли (хотя это будет довольно сложно). Если вы достаточно параноик, вы можете создать свой собственный генератор случайных паролей. Мы можем помочь вам создать его с помощью Microsoft Excel.
Некоторые задачи по обеспечению безопасности, несомненно, выходят за рамки самостоятельных действий, правда. Вы не собираетесь строить свою собственную виртуальную частную сеть или, например, VPN. Но для создания этого небольшого проекта не требуются дополнительные знания, достаточно умения следовать инструкциям. Он не использует макросы или какие-то причудливые вещи, только обычные функции Excel. Обратите внимание, что этот проект обязательно использует псевдослучайный алгоритм Excel. Разница здесь в том, что злоумышленники могут изучить генератор паролей, встроенный в любой общедоступный менеджер паролей, в то время как у них нет доступа к вашему самодельному.
Наш лучший выбор менеджера паролей
Посмотреть все (4 шт.)Создайте скаффолд генератора паролей
Во-первых, давайте создадим каркас, который будет обрамлять наш генератор паролей, то есть метки и статические компоненты. Пожалуйста, поместите данные именно в те ячейки, которые я описываю, чтобы формулы работали. После того, как он заработает, вы можете настроить его, чтобы сделать его полностью своим.
В ячейке B1 введите «Генератор случайных паролей» или любое другое название, которое вы хотите для своего проекта. Начиная с ячейки B3 и спускаясь вниз, введите метки «Длина», «Заглавные буквы», «Строчные буквы», «Цифры» и «Специальные символы». Пропустите ячейку B8, введите «Нажмите F9 для регенерации» в ячейке B9 и «ПАРОЛЬ» в ячейке B10. Это должно выглядеть как на картинке ниже.
В ячейке C3 введите 16 или предпочтительную длину пароля по умолчанию. Введите «Да» в следующие четыре ячейки под ним. Теперь введите весь прописной алфавит в ячейку D4 и весь строчный алфавит в D5. Введите 10 цифр в D6 и любые специальные символы, которые вы хотите использовать в D7. Совет для профессионалов: ставьте 0 последним, а не первым в списке цифр, иначе Excel его удалит. Готовый каркас должен выглядеть примерно так:
Добавьте формулы, которые генерируют пароли
Для начала нам нужно построить строку текста, включающую все символы, которые мы выбрали для использования. Формула для этого выглядит немного сложной, но на самом деле она просто длинная. Введите эту формулу в ячейку D8:
=ЕСЛИ(C4="Да",D4,"") &ЕСЛИ(C5="Да",D5,"") &ЕСЛИ(C6="Да",D6,"") &IF(C7="Да",D7, "")
Оператор & склеивает строки текста. Эта формула говорит о том, что для каждого из четырех наборов символов, если соседняя ячейка содержит значение «Да», включить набор символов. Но если эта ячейка содержит что-либо, кроме Да (независимо от верхнего или нижнего регистра), не включайте его. Попробуй это сейчас; измените некоторые из ячеек «Да» на «Нет», «Нет» или «Лягушка». Строка доступных символов изменится в соответствии с тем, что вы сделали.
Далее идет формула для генерации случайного пароля. В ячейке C10 начните с этой предварительной версии:
=СРЕДН(D8,СЛУЧМЕЖДУ(1,ДЛСТР(D8)),1)
Я сломаю его изнутри. Функция ДЛСТР возвращает длину переданного ей значения, в данном случае длину строки доступных символов. Неудивительно, что вызов СЛУЧМЕЖДУ возвращает случайное число между двумя заданными вами числами, в данном случае единицей и длиной. А функция MID возвращает часть входной строки, начиная с первого числа, которое вы ей передаете, и продолжая указанное вами количество символов, в данном случае только один. Итак, эта формула возвращает один случайный символ из доступного набора символов. Нажатие F9 указывает Excel пересчитать все функции; попробуйте несколько раз и наблюдайте за случайным изменением персонажа.
Конечно, это всего лишь один символ, а не целый пароль. Следующий шаг немного утомительный, но на самом деле не сложный. Щелкните на функциональной панели, чтобы отредактировать последнюю запись, добавьте в конец символ &, выделите все, кроме знака равенства, и нажмите Ctrl+C, чтобы скопировать ее в буфер обмена. Допустим, мы хотим, чтобы максимальная длина пароля составляла 40 символов. Итак, нажмите Ctrl+V 39 раз. Удалите последний амперсанд, нажмите Enter, и все готово.
Ну, вы почти закончили. Как написано, этот генератор паролей всегда создает пароли из 40 символов. Нам нужно обрезать его вывод до указанной длины. Сохраните свою работу на этом этапе, потому что вы будете редактировать эту формулу длиной в милю; Вы же не хотите удалить его случайно!
Выберите формулу, которая генерирует пароль, и щелкните в строке формул сразу после знака равенства. Совет для профессионалов: нажатие Ctrl+Alt+U в этот момент увеличивает панель формул. Введите LEFT, за которым следует открывающая скобка. Прокрутите до самого конца формулы и введите запятую, C3 и закрывающую скобку. Браво! Теперь формула обрезает пароль до выбранной вами длины.
Тонкая настройка генератора паролей
На данный момент генератор паролей полностью функционален. Если вы довольны этим как есть, отлично: вы сделали это! Но если вам интересно, вы можете улучшить его внешний вид и функциональность несколькими способами. Для начала щелкните правой кнопкой мыши букву D в верхней части столбца D и выберите в меню Скрыть. Теперь вам не нужно видеть списки наборов символов и промежуточные вычисления.
Как правило, вы хотите установить верхний и нижний пределы длины в генераторе паролей. Кроме того, если вы введете в поле «Длина» что-либо, кроме числа, формула не будет работать. Мы можем это исправить. Щелкните ячейку C3, определяющую длину, щелкните Данные на ленте и выберите Проверка данных. Если вы не видите метку «Проверка данных», растяните таблицу шире.
В появившемся всплывающем окне щелкните раскрывающееся меню «Разрешить» и выберите «Целое число». Снимите флажок «Игнорировать пустое поле» и установите для параметра «Минимум» значение 8, а для параметра «Максимум» — 40. Когда все будет выглядеть так, как показано на этом снимке экрана, щелкните следующую вкладку «Ввод сообщения». В качестве входного сообщения введите «Введите длину от 8 до 40». Скопируйте этот текст в буфер обмена и вставьте его в поле «Сообщение об ошибке» на вкладке «Предупреждение об ошибке», затем нажмите «ОК». Теперь, когда вы щелкаете по ячейке «Длина», вам будет предложено ввести правильную длину, а если вы сделаете ошибку, вы получите информативное сообщение об ошибке.
Рекомендовано нашими редакторами
Готовы к последней настройке? Введите «Да» в ячейку E1 и «Нет» чуть ниже. Щелкните ячейку C4, ячейку справа от метки Прописные буквы. Еще раз нажмите «Данные» на ленте и выберите «Проверка данных». Выберите «Список» в раскрывающемся списке, снимите флажок «Игнорировать пробел», щелкните поле «Источник» и выделите ячейки E1 и E2. На вкладке «Входящее сообщение» введите «Да или нет» в качестве сообщения. На странице «Предупреждение об ошибке» введите «Да или нет» в качестве сообщения об ошибке. Нажмите OK, чтобы закончить. Скопируйте эту ячейку в три ячейки под ней.
Вот и все! Теперь эти четыре ячейки принимают только значения «Да» или «Нет». Более того, у каждого теперь есть раскрывающийся список, позволяющий выбрать одно из этих значений. О, теперь, когда вы закончили, щелкните правой кнопкой мыши большую букву E в верхней части столбца E и выберите «Скрыть», чтобы вы не видели ячейки, которые передаются в систему проверки данных.
На этом этапе вы можете проявить творческий подход и добавить форматирование, чтобы ваш генератор паролей выглядел менее индустриальным. Выбирайте шрифты, которые вам нравятся, добавляйте цвета, настраивайте вещи, пока они не будут выглядеть великолепно.
Наконец, давайте заблокируем его, чтобы вы случайно не уничтожили формулу, введя данные не в ту ячейку. Выделите ячейки от C3 до C7 (это ячейка длины плюс четыре ячейки «да/нет»), щелкните правой кнопкой мыши и выберите «Формат ячеек». Перейдите на вкладку «Защита» и снимите флажок «Заблокировано», затем нажмите «ОК». Нажмите «Просмотреть» на ленте и нажмите «Защитить лист». Просто нажмите OK, чтобы принять настройки в появившемся диалоговом окне; вы не пытаетесь защитить лист паролем, просто чтобы защитить его от неловких пальцев. Сохраните великолепный результат!
Сделать генератор паролей в Google Sheets
Я гений Excel еще до появления Google Sheets. Может быть, еще до того, как Google существовал! Но я знаю, что многие люди клянутся Google Sheets, поэтому я запустил его, чтобы убедиться, что он поддерживает этот проект.
Я следовал своим собственным инструкциям, чтобы создать генератор паролей в Sheets, и обнаружил, что все работает джим-денди, вплоть до формулы, отображающей один случайный символ. Все заработало, но нажатие F9 не помогло обновиться новым случайным символом. Проконсультировавшись с Google, я обнаружил, что для принудительного обновления необходимо нажать F5, тем самым обновив всю страницу, или изменить значение любой ячейки. Это неудобно, но выполнимо. Я изменил подсказку на «Нажмите F5 для регенерации».
Вместо того, чтобы воссоздавать гигантскую формулу, которая выполняет полную генерацию пароля, я скопировал ее из своего рабочего листа Excel. Аллилуйя! Это сработало! Я не буду вдаваться в подробности, но мне удалось воссоздать правила проверки данных и скрыть ненужные столбцы. Если вы используете Таблицы, а не Excel, этот проект все равно может вам подойти.
Ты сделал это!
Независимо от того, приняли ли вы простую версию или продолжили применять модные настройки, теперь у вас есть генератор паролей, который вы написали сами. Правда, Excel использует генератор псевдослучайных чисел, но вы можете добавить свою собственную случайность, несколько раз нажав F9, прежде чем принять сгенерированный пароль. И хотя хакер может работать над перепроектированием генератора паролей в продукте для управления паролями, используемом миллионами, ваша одноразовая утилита просто не находится на радаре. Ты сделал это!