Генератор паролей excel формула

Обновлено Обновлено: 01.11.2017
Опубликовано Опубликовано: 02.09.2016

Инструкция применима к ситуации, когда нужно создать большое количество паролей. Для этого подойдет офисная программа MS Excel.

Простые числовые пароли

Запускаем Excel и выделяем первую ячейку. В строку формул вставляем формулу генерации случайных чисел: =СЛУЧМЕЖДУ(10000;99999) и нажимаем Enter.

Вставка формулы в Excel для генерации случайных чисел

* в данном примере мы сгенерируем пароль из 5 цифр. Если нужен пароль из 6 цифр, увеличиваем минимальный диапазон на один 0 и максимальный на одну 9.

Теперь выделяем ячейку с паролем и копируем ее комбинацией клавиш Ctrl + C.

Копируем сгенерированное число

После чего выделяем несколько ячеек вниз

Выделяем несколько ячеек в Excel

и нажимаем Ctrl + V.

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

Сложные пароли

Процесс аналогичен, описанному выше, за исключением самой формулы.

Для формирования одного символа используем =СИМВОЛ(СЛУЧМЕЖДУ(33;126)). Чтобы сгенерировать пароль из 5 символов, необходимо выполнить конкатенацию (объединение) результатов работы формулы 5 раз. Для этого служит символ &:

=СИМВОЛ(СЛУЧМЕЖДУ(33;126))&СИМВОЛ(СЛУЧМЕЖДУ(33;126))&СИМВОЛ(СЛУЧМЕЖДУ(33;126))&СИМВОЛ(СЛУЧМЕЖДУ(33;126))&СИМВОЛ(СЛУЧМЕЖДУ(33;126))

Пример:

Генерация сложного пароля в Excel

Другие генераторы паролей

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

  1. Генераторы онлайн, например, сайт www.onlinepasswordgenerator.ru.
  2. Установленные на компьютер программы, например, Password Generator.
  3. Порталы, например, TeamPass.

Дмитрий Моск — частный мастер

Была ли полезна вам эта инструкция?

Да            Нет

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

Для того чтобы сгенерировать пароль, необходимо определить из чего он должен состоять, например только из букв разного регистра; из чисел и букв; чисел, букв и символов и т.д. От этого зависит каким образом мы будем случайно генерировать пароль в Excel.

Чтобы создать генератор паролей в Excel, мы будем использовать комбинацию нескольких функций СИМВОЛ и СЛУЧМЕЖДУ. О них мы говорили в предыдущей статье.

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

=СЛУЧМЕЖДУ(0;9) & СИМВОЛ(СЛУЧМЕЖДУ(65;90)) & СИМВОЛ(СЛУЧМЕЖДУ(97;122)) & СИМВОЛ(СЛУЧМЕЖДУ(33;47))

Чтобы сделать формулу более компактной, можно представить коды ANSI непосредственно в формуле. Четыре функции возвращают следующие случайные значения:

СЛУЧМЕЖДУ (0;9) — возвращает случайные числа от 0 до 9.

СИМВОЛ(СЛУЧМЕЖДУ(65;90)) — возвращает случайные заглавные буквы от A до Z.

СИМВОЛ(СЛУЧМЕЖДУ(97;122)) — возвращает случайные строчные буквы от a до z.

СИМВОЛ(СЛУЧМЕЖДУ(33;47)) — возвращает случайные специальные символы.

& (амперсанд) — это символ, с помощью которого происходит объединение текста. Об объединении текста в Excel мы писали в этой статье.

Примеры паролей, сгенерированных с помощью приведенной выше формулы, будут такими:

1-generator-parolei-v-excel

Генератор паролей в Excel – Примеры сгенерированных паролей в Excel

Обратите внимание, что данный генератор паролей в Excel создает не достаточно защищенные пароли. Конечно вы можете генерировать более длинные текстовые строки, добавляя при помощи & (амперсанда) и функций СИМВОЛ и СЛУЧМЕЖДУ. Однако невозможно будет рандомизировать порядок или символы, т.е. по заданной выше формуле первая функция всегда возвращает число, вторая функция возвращает заглавную букву, третья – строчную букву, а четвертая – символ.

ВАЖНАЯ ИНФОРМАЦИЯ! Имейте в виду, что текстовые строки, сгенерированные с помощью вышеуказанной формулы, будут меняться каждый раз, когда рабочий лист пересчитывается. Чтобы гарантировать, чтобы пароли оставались неизменными после их создания, вам придется остановить функцию СЛУЧМЕЖДУ от обновления значений, как это сделать описано в предыдущей статье в этом разделе. 

[ Скачать пример ]

Содержание

    • 0.1 Автор публикации
  • 1 Онлайн-сервисы для генерации паролей
  • 2 Генерация паролей в Excel при помощи формул
  • 3 Функция VBA для генерации простых паролей
  • 4 Генератор паролей заданной сложности
  • 5 Видео по работе с надстройкой

30.10.2012 Григорий Цапко Калькуляторы, шаблоны, форматы, Практикум

Сегодня мы создаем генератор паролей в Excel.

Зачем нам это нужно?

Генератор паролей нужен для быстрого создания устойчивых паролей заданной длины.

Конечно, можно придумать пароль и самому, и даже длинный и даже сложный, но наша задача, сделать это в Excel. Это хороший комплексный практический пример, в ходе работы над которым, мы задействуем функции: СЛУЧМЕЖДУ, ИНДЕКС, СЦЕПИТЬ, СИМВОЛ и логическую функцию ЕСЛИ. Так же мы используем элементы управления «Флажок» и «Переключатель».

В основе нашей разработки будет лежать генератор случайных чисел, представленный в Excel функцией =СЛЧИС(), и в частности его разновидность — функция =СЛУЧМЕЖДУ(нижн_граница; верхн_граница), которая возвращает случайное число между двумя заданными. Соответственно нижней и верхней границей числового диапазона.

В дополнение к этой функции можно использовать функцию =СИМВОЛ(число), которая возвращает знак в соответствии с заданным кодом (от 1 до 255) используя таблицу знаков (ANSI).

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

=СИМВОЛ(СЛУЧМЕЖДУ(65;90))

Где 65 и 90 соответственно нижняя и верхняя граница диапазона чисел кода, которому соответствуют заглавные латинские буквы A-Z по таблице знаков ANSI.

Для того чтобы получить шестизначный пароль из заглавных латинских букв необходимо использовать функцию =СЦЕПИТЬ(текст1; текст2;…), которая объединяет несколько текстовых строк в одну. В нашем случае это будет выглядеть так:

=СЦЕПИТЬ(СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90)))

Нажимая клавишу F9, генерируем пароли вида: MFVYZW, YHCLSD, BNLXEW и т.д.

Однако этот простой способ имеет ряд недостатков. Например, набор необходимых нам символов для пароля в таблице знаков может располагаться в несмежных, диапазонах. Так цифры от 0 до 9 имеют код 48 до 57, строчные латинские буквы – код с 97 до 122.  Если мы захотим составить пароль из цифр, и латинских букв с разным регистром или захотим исключить сходные по написанию буквы (например, строчную l и заглавную I) то столкнёмся с определенными трудностями в использовании приведенного выше метода.

Методом свободным от указанных недостатков будет создание собственной таблицы символов.

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

Для этого мы будем использовать функцию =ИНДЕКС(массив; номер_строки; ), которая  возвращает значение элемента таблицы или массива, заданного номером строки и номером столбца.

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

В файле примера данная таблица располагается в диапазоне А1:А86, при чем цифры от 0 до 9 занимают диапазон А1:А10, латинские строчные буквы – диапазон А11:А35, латинские заглавные буквы – диапазон А36:А60, набор спецсимволов – диапазон А61:А86. Строчная l и заглавная I исключены.

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

Так же, мы добавим возможность выбора длины пароля – 6, 8, 10, 12 символов.

Для удобства, присвоим нашей таблице символов находящейся в диапазоне А1:А86 имя «таблица_символов».

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

=ИНДЕКС(таблица_символов;СЛУЧМЕЖДУ(1;35);1)

Для генерации случайного знака из набора цифр, строчных и заглавных латинских букв:

=ИНДЕКС(таблица_символов;СЛУЧМЕЖДУ(1;60);1)

Для генерации случайного знака из набора цифр, строчных и заглавных латинских букв, а также спецсимволов:

=ИНДЕКС(таблица_символов;СЛУЧМЕЖДУ(1;86);1)

Эта формула возвращает символ, находящийся в выбранной случайным образом строке нашего массива состоящего из 1 столбца и 86 строк.

Теперь добавим механизм выбора сложности пароля. Для этого мы будем использовать элемент управления «Флажок», который в установленном положении принимает значение ИСТИНА.

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

Добавить флажок на лист можно через вкладку Разработчик→ группа Элементы управления→ команда Вставить→ Элементы управления формы → Флажок

Установим связь первого флажка с ячейкой Е7, а связь второго флажка – с ячейкой Е8.

Установить связь можно щелкнув правой кнопкой мыши на элементе управления и, в появившемся контекстном меню выбрать пункт Формат объекта → вкладка Элемент управления→ поле Связь с ячейкой.

Тогда формула выбора знака случайным образом с учетом сложности пароля будет выглядеть следующим образом:

=ИНДЕКС(таблица_символов;ЕСЛИ($E$8=ИСТИНА;СЛУЧМЕЖДУ(1;86);ЕСЛИ($E$7=ИСТИНА;СЛУЧМЕЖДУ(1;60);СЛУЧМЕЖДУ(1;35)));1)

Это генерация только одного знака, а мы задались целью сделать 4 варианта – 6, 8, 10, и 12 символов.

Для того, чтобы не повторять эту формулу 36 раз в одной ячейке (длина пароля в нашем примере 6, 8, 10, 12 символов, соответственно все варианты 6+8+10+12=36), введем ее в 12 разных ячеек, которые потом будем сцеплять. У нас это будет диапазон В1:М1.

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

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

Добавим в нашу форму четыре переключателя, соответствующие длине пароля в 6, 8, 10 или 12 символов, и установим связь этих переключателей с ячейкой Е10.

Тогда в итоговой ячейки вывода пароля будет следующая формула:

=ЕСЛИ($E$10=1;СЦЕПИТЬ(B1;C1;D1;E1;F1;G1);ЕСЛИ($E$10=2;СЦЕПИТЬ(B1;C1;D1;E1;F1;G1;H1;I1);ЕСЛИ($E$10=3;СЦЕПИТЬ(B1;C1;D1;E1;F1;G1;H1;I1;J1;K1);СЦЕПИТЬ(B1;C1;D1;E1;F1;G1;H1;I1;J1;K1;L1;M1))))

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

Скрыть данные на листе можно, также, другим способом. Формат ячеек, вкладка Число, выбираем Все форматы, справа а поле Тип ставим три знака точки с запятой «;;;» и нажимаем ОК.

как сделать генератор паролей в excel

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

Скачать

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

Сделать это в Excel можно при помощи пары простых функций:

  • функция СЛУЧМЕЖДУ (RANDBETWEEN) – генерирует случайное число в заданном диапазоне;
  • функция СИМВОЛ (CHAR) – выводит символ с заданным кодом.

По внутренней компьютерной кодировке английские прописные буквы имеют коды символов с 65 по 90, строчные – с 97 по 122. Поэтому, например, формула =СИМВОЛ(СЛУЧМЕЖДУ(65;90)) будет выводить случайную прописную букву английского алфавита. Соответственно, если нам нужна строка из таких символов, то необходимо использовать несколько таких функций, склеенных с помощью символа &.

как сделать генератор паролей в excel

Как при помощи простых функций Excel создать генератор паролей

В английском варианте это будет =CHAR(RANDBETWEEN(65;90)).

Если же необходимо создавать более сложные пароли (с символами разного регистра, цифрами и др.), то проще будет использовать специальную макрофункцию. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert → Module) и введите туда ее текст.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
Public Function GeneratePassword(Optional Lenght As Integer = 8) 	For s = 1 To Lenght     	choice = Int(Rnd * 3)         If choice = 0 Then         	nextsymbol = Int(Rnd * 9)         End If         If choice = 1 Then         	nextsymbol = Chr(Int((90 - 65 + 1) * Rnd + 65))         End If         If choice = 2 Then         	nextsymbol = Chr(Int((122 - 97 + 1) * Rnd + 97))         End If         PassTxt = PassTxt & nextsymbol     Next s     GeneratePassword = PassTxt End Function

Public Function GeneratePassword(Optional Lenght As Integer = 8) For s = 1 To Lenght choice = Int(Rnd * 3) If choice = 0 Then nextsymbol = Int(Rnd * 9) End If If choice = 1 Then nextsymbol = Chr(Int((90 — 65 + 1) * Rnd + 65)) End If If choice = 2 Then nextsymbol = Chr(Int((122 — 97 + 1) * Rnd + 97)) End If PassTxt = PassTxt & nextsymbol Next s GeneratePassword = PassTxt End Function

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

как сделать генератор паролей в excel

Проще будет использовать специальную макрофункцию

Привет!

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

С одной стороны, большинство владельцев подобных сервисов желает предоставить быстрый вариант получить ворох паролей без излишней головной боли. Да что там, у меня тоже подобный есть. В отличие от некоторых, мой работает исключительно на JavaScript. Это значит, что вы можете открыть ссылку в приватной вкладке, отключить интернет, сгенерировать необходимое число паролей, сохранить их, после чего закрыть вкладку и включить интернет. 99+% гарантии, что созданные пароли будут только вашими, за исключением случая, когда в системе уже сидит какой-то зловред и собирает данные.

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

как сделать генератор паролей в excel

Если всякие формулы не интересны, прокачивать свой скилл не видите смысла, и вообще, с Экселем работаете постольку-поскольку, можете сразу скачать готовый файлик. И после этого будете твёрдо уверены, что полученные пароли только ваши.

А что делать, если нет доверия к сайтам вообще, и при этом нет желания разбираться, почему пароль, сгенерированный на JavaScript в приватной вкладке при отключенном интернете, не может быть отослан владельцу сервиса? Для людей с такой фобией могу предложить вариант с Excel-файлом.

Ключевая особенность этого генератора, назовём его так — Вы сами задаёте символы, которые будут использоваться в пароле.

Для начала, откроем Excel и создадим новый файл. В первом столбце пишем используемые символы, по одному в ячейке:

a
b
c
и т. д.

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

В ячейке D1 осуществляется поиск конца данных (используемых символов). Для этого пишем такую формулу:

=ПОИСКПОЗ("";A1:A256;-1)

Думаю, 256 символов более, чем достаточно.

Теперь генерируем ссылку на диапазон всех символов пароля. В D2 пишем такую конструкцию:

="$A$1:$A$"&D1

Символ амперсанда — & — используется для сцепки строковых значений. Первое значение задаём явно, а второе — это содержимое ячейки D1.

Теперь приступим непосредственно к получению случайных символов из диапазона. Сами пароли будут формироваться в столбце B.

Сперва инициализируем ячейку B1 с помощью формулы:

=ИНДЕКС(ДВССЫЛ($D$2);СЛУЧМЕЖДУ(1;$D$1);1)

Разберём каждую из трёх функций:

  1. ДВССЫЛ(ячейка) — возвращает ссылку на диапазон, заданный в ячейке. Зачем это нужно — ниже.
  2. СЛУЧМЕЖДУ(от;до) — возвращает случайное число в диапазоне от (в нашем случае 1, т. к. символы пароля находятся в столце A, начиная со строки ) и до (значение из ячейки D1, в которой нашли окончание данных).
  3. ИНДЕКС(массив;строка;столбец) — возвращает значение ячейки из элемента массив (диапазон из ячейки D2, см. 1), находящееся на пересечение строки (случайное значение, см. 2) и столбца (всегда 1, т. к. символы пароля расположены в одном столбце).

Результатом работы этой конструкции будет один символ из столбца A.

Ячейка B2 будет использовать содержимое B1 плюс один случайный символ:

=B1&ИНДЕКС(ДВССЫЛ($D$2);СЛУЧМЕЖДУ(1;$D$1);1)

Здесь видим уже знакомую сцепку строк: содержимое B1 и новый случайный символ.

Теперь растягиваем формулу из ячейки B2 вниз, на сколько нужно.

как сделать генератор паролей в excel

Забавно, что программная нумерация строк показывает и длину пароля в соответствующей ячейке столбца B. Нужен пароль длиной 16 символов? Щёлкаем мышкой на B16 и копируем пароль в буфер (Ctrl-C).
Нужно обновить пароли — щёлкаем на любой ячейке и нажимаем клавишу F2 (режим редактирования ячейки), затем .

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

P. P. S. Если возникли вопросы по используемым формулам, задавайте в комментариях. Постараюсь помочь.

Автор публикации

1 892

не в сети 13 часов

x64 (aka andi) Комментарии: 2752Публикации: 385Регистрация: 02-04-2009

(

голосов, в среднем:

из 5)

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

Онлайн-сервисы для генерации паролей

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

Используя стандартные функции Excel, такие, как СЛЧИС, СЛУЧМЕЖДУ, СИМВОЛ, ЦЕЛОЕ и другие, можно создать функции для генерации паролей разной степени сложности. В сети встречаются различные способы реализации решения этой задачи. Для создания пароля из 6 символов, состоящего из латинских букв, цифр и знаков можно использовать, например, формулу:

=СЦЕПИТЬ(СИМВОЛ(СЛУЧМЕЖДУ(33;126)); СИМВОЛ(СЛУЧМЕЖДУ(33;126)); СИМВОЛ(СЛУЧМЕЖДУ(33;126)); СИМВОЛ(СЛУЧМЕЖДУ(33;126)); СИМВОЛ(СЛУЧМЕЖДУ(33;126)); СИМВОЛ(СЛУЧМЕЖДУ(33;126)))

Функция VBA для генерации простых паролей

  Function GetPassword(lenght As Integer) As String      Dim i As Integer      Dim simbol As String      Dim password As String      Randomize          For i = 1 To lenght              simbol = Chr(Int((126 - 33 + 1) * Rnd + 33))              password = password & simbol          Next      GetPassword = password  End Function  

Генератор паролей заданной сложности

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

как сделать генератор паролей в excel

надстройка для генерации паролей разной сложности

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

Видео по работе с надстройкой

Функция Password

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

Генерация пароля заданной длины в Excel функцией Password

Синтаксис

=Password(Length; Charset)

где

  • Length — необходимая длина пароля в символах (если не указана, то принимается равной 8)
  • Charset — текстовая строка вида «ХХХХ», которая задаёт наборы символов для использования в пароле:

    • «1000» – прописные буквы английского алфавита

    • «0100» – строчные буквы английского алфавита

    • «0010» — цифры

    • «0001» – знаки препинания и спецсимволы: !@#$%&*()-_

    • «1010» – прописные буквы и цифры

    • «1100» – прописные и строчные буквы и т.д.

      Значение по умолчанию = «1110», т.е. прописные и строчные буквы английского алфавита и цифры.

Полный список всех инструментов надстройки PLEX

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

Сделать это в Excel можно при помощи пары простых функций:

  • функция СЛУЧМЕЖДУ (RANDBETWEEN) – генерирует случайное число в заданном диапазоне;
  • функция СИМВОЛ (CHAR) – выводит символ с заданным кодом.

По внутренней компьютерной кодировке английские прописные буквы имеют коды символов с 65 по 90, строчные – с 97 по 122. Поэтому, например, формула =СИМВОЛ(СЛУЧМЕЖДУ(65;90)) будет выводить случайную прописную букву английского алфавита. Соответственно, если нам нужна строка из таких символов, то необходимо использовать несколько таких функций, склеенных с помощью символа &.

Как при помощи простых функций Excel создать генератор паролей

Как при помощи простых функций Excel создать генератор паролей

В английском варианте это будет =CHAR(RANDBETWEEN(65;90)).

Если же необходимо создавать более сложные пароли (с символами разного регистра, цифрами и др.), то проще будет использовать специальную макрофункцию. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert → Module) и введите туда ее текст.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Function GeneratePassword(Optional Lenght As Integer = 8)
	For s = 1 To Lenght
    	choice = Int(Rnd * 3)
        If choice = 0 Then
        	nextsymbol = Int(Rnd * 9)
        End If
        If choice = 1 Then
        	nextsymbol = Chr(Int((90 - 65 + 1) * Rnd + 65))
        End If
        If choice = 2 Then
        	nextsymbol = Chr(Int((122 - 97 + 1) * Rnd + 97))
        End If
        PassTxt = PassTxt & nextsymbol
    Next s
    GeneratePassword = PassTxt
End Function

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

Проще будет использовать специальную макрофункцию

Проще будет использовать специальную макрофункцию

Strong passwords are needed to protect your electronic accounts from brute force attacks and other cyberattacks attempted by hackers. In this article, I am going to show you how you can generate a random strong password in Microsoft Excel.

Excel comes with several inbuilt formulas to calculate cell values. It also provides you a Random Number Generator formula to quickly generate a random number from a range. But, how you can use this formula to generate a strong password? Let us find out in this tutorial.

You can create a random strong password in Excel by following these two main steps:

  1. Create a Sheet Structure for Random Password Generator
  2. Add Formulas to Generate a Random Strong Password

Let’s elaborate on these steps now!

Create a Sheet Structure for Random Password Generator

At first, you need to create a basic structure of your sheet to generate a random strong password. This includes declaring password length, uppercases, lowercases, numbers, and the special characters you want in the output password.

Start with defining the basic fields’ names from the A3 cell that include Password Length, Uppercasess, Lowercases, Digits, Special Characters. Leave the A8 cell empty and then enter fields including Press Shift+F9 to Regenerate and Password.

Shift+F9 hotkey is used to refresh a cell value in Microsoft Excel. Hence, to regenerate a random password, you can press this hotkey and see the changed random password.

Generate Random Strong Password using Excel

Coming to declaring values for the above-mentioned fields, start from the C3 cell. Enter the password length first, then ‘Yes‘ for all other fields including uppercase, lowercase, digits, and special characters. As we want to generate a strong password, we must include a combination of all these values. Hence, we have entered a Yes to these fields.

Next, in the D column, specify all values of uppercases, lowercases, digits, and special characters to respective rows. You can add custom special characters that you want in the random output password.

For example, in the Uppercase field, type all letters in capitals like ABCDEFGHIJKLMNOPQRSTUVWXYZ.

Similarly, for digits, enter 9876543210. All the specified values will be used to generate a random strong password.

TIP: Create stronger passwords and passphrases using ASCII characters.

Add Formulas to Generate a Random Strong Password

After creating the basic structure of the sheet for random password generator, comes the main task. You have to use formulas in order to generate a random strong password.

Firstly, generate a string using all values of uppercase, lowercase, digits, and special characters using the following formula in the D8 cell:

=IF(C4="Yes",D4,"") &IF(C5="Yes",D5,"") &IF(C6="Yes",D6,"") &IF(C7="Yes",D7,"")

The above formula will create a string of all characters from all defined fields, as shown in the below screenshot.

Now, to generate a random value from all characters, enter the below formula in the C10 cell:

=MID(D8,RANDBETWEEN(1,LEN(D8)),1)

This formula will only generate a single value as shown in the below screenshot.

Next, to generate a long string of a strong password, you will have to repeat the above formula string multiple times with “&” in a go. For example, if you want to generate a random value with 3 characters, you will have to use it three times repeatedly with “&” between each formula. Your formula will look something like the below one:

=MID(D8,RANDBETWEEN(1,LEN(D8)),1)&MID(D8,RANDBETWEEN(1,LEN(D8)),1)&MID(D8,RANDBETWEEN(1,LEN(D8)),1)

So, just copy the random number generator formula, add a “&” after the first string, and then paste it multiple times in the Function bar. Do remember that the equal (=) sign will come only at the start of the formula.

Finally, press the Enter button and it will generate a random strong password in the C10 cell.

You can now select C10 (password) cell and press the Shift+F9 shortcut key to regenerate a new random strong password again. And, do it as many times as you want.

In this tutorial, I have shared steps to generate a random strong password in Excel using its inbuilt formula library. You can follow these steps and generate as many strong passwords as you want in Excel, without needing an external add-on service.

Now read: How to use Automatic Data Type feature in Microsoft Excel.

30.10.2012 Калькуляторы, шаблоны, форматы, Практикум

Сегодня мы создаем генератор паролей в Excel.

Зачем нам это нужно?

Генератор паролей нужен для быстрого создания устойчивых паролей заданной длины.

Конечно, можно придумать пароль и самому, и даже длинный и даже сложный, но наша задача, сделать это в Excel. Это хороший комплексный практический пример, в ходе работы над которым, мы задействуем функции: СЛУЧМЕЖДУ, ИНДЕКС, СЦЕПИТЬ, СИМВОЛ и логическую функцию ЕСЛИ. Так же мы используем элементы управления «Флажок» и «Переключатель».

В основе нашей разработки будет лежать генератор случайных чисел, представленный в Excel функцией =СЛЧИС(), и в частности его разновидность — функция =СЛУЧМЕЖДУ(нижн_граница; верхн_граница), которая возвращает случайное число между двумя заданными. Соответственно нижней и верхней границей числового диапазона.

В дополнение к этой функции можно использовать функцию =СИМВОЛ(число), которая возвращает знак в соответствии с заданным кодом (от 1 до 255) используя таблицу знаков (ANSI).

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

=СИМВОЛ(СЛУЧМЕЖДУ(65;90))

Где 65 и 90 соответственно нижняя и верхняя граница диапазона чисел кода, которому соответствуют заглавные латинские буквы A-Z по таблице знаков ANSI.

Для того чтобы получить шестизначный пароль из заглавных латинских букв необходимо использовать функцию =СЦЕПИТЬ(текст1; текст2;…), которая объединяет несколько текстовых строк в одну. В нашем случае это будет выглядеть так:

=СЦЕПИТЬ(СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90));СИМВОЛ(СЛУЧМЕЖДУ(65;90)))

Нажимая клавишу F9, генерируем пароли вида: MFVYZW, YHCLSD, BNLXEW и т.д.

Однако этот простой способ имеет ряд недостатков. Например, набор необходимых нам символов для пароля в таблице знаков может располагаться в несмежных, диапазонах. Так цифры от 0 до 9 имеют код 48 до 57, строчные латинские буквы – код с 97 до 122.  Если мы захотим составить пароль из цифр, и латинских букв с разным регистром или захотим исключить сходные по написанию буквы (например, строчную l и заглавную I) то столкнёмся с определенными трудностями в использовании приведенного выше метода.

Методом свободным от указанных недостатков будет создание собственной таблицы символов.

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

Для этого мы будем использовать функцию =ИНДЕКС(массив; номер_строки; [номер столбца]), которая  возвращает значение элемента таблицы или массива, заданного номером строки и номером столбца.

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

В файле примера данная таблица располагается в диапазоне А1:А86, при чем цифры от 0 до 9 занимают диапазон А1:А10, латинские строчные буквы – диапазон А11:А35, латинские заглавные буквы – диапазон А36:А60, набор спецсимволов – диапазон А61:А86. Строчная l и заглавная I исключены.

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

Так же, мы добавим возможность выбора длины пароля – 6, 8, 10, 12 символов.

Для удобства, присвоим нашей таблице символов находящейся в диапазоне А1:А86 имя «таблица_символов».

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

=ИНДЕКС(таблица_символов;СЛУЧМЕЖДУ(1;35);1)

Для генерации случайного знака из набора цифр, строчных и заглавных латинских букв:

=ИНДЕКС(таблица_символов;СЛУЧМЕЖДУ(1;60);1)

Для генерации случайного знака из набора цифр, строчных и заглавных латинских букв, а также спецсимволов:

=ИНДЕКС(таблица_символов;СЛУЧМЕЖДУ(1;86);1)

Эта формула возвращает символ, находящийся в выбранной случайным образом строке нашего массива состоящего из 1 столбца и 86 строк.

Теперь добавим механизм выбора сложности пароля. Для этого мы будем использовать элемент управления «Флажок», который в установленном положении принимает значение ИСТИНА.

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

Добавить флажок на лист можно через вкладку Разработчик→ группа Элементы управления→ команда Вставить→ Элементы управления формы → Флажок

Установим связь первого флажка с ячейкой Е7, а связь второго флажка – с ячейкой Е8.

Установить связь можно щелкнув правой кнопкой мыши на элементе управления и, в появившемся контекстном меню выбрать пункт Формат объекта → вкладка Элемент управления→ поле Связь с ячейкой.

Тогда формула выбора знака случайным образом с учетом сложности пароля будет выглядеть следующим образом:

=ИНДЕКС(таблица_символов;ЕСЛИ($E$8=ИСТИНА;СЛУЧМЕЖДУ(1;86);ЕСЛИ($E$7=ИСТИНА;СЛУЧМЕЖДУ(1;60);СЛУЧМЕЖДУ(1;35)));1)

Это генерация только одного знака, а мы задались целью сделать 4 варианта – 6, 8, 10, и 12 символов.

Для того, чтобы не повторять эту формулу 36 раз в одной ячейке (длина пароля в нашем примере 6, 8, 10, 12 символов, соответственно все варианты 6+8+10+12=36), введем ее в 12 разных ячеек, которые потом будем сцеплять. У нас это будет диапазон В1:М1.

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

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

Добавим в нашу форму четыре переключателя, соответствующие длине пароля в 6, 8, 10 или 12 символов, и установим связь этих переключателей с ячейкой Е10.

Тогда в итоговой ячейки вывода пароля будет следующая формула:

=ЕСЛИ($E$10=1;СЦЕПИТЬ(B1;C1;D1;E1;F1;G1);ЕСЛИ($E$10=2;СЦЕПИТЬ(B1;C1;D1;E1;F1;G1;H1;I1);ЕСЛИ($E$10=3;СЦЕПИТЬ(B1;C1;D1;E1;F1;G1;H1;I1;J1;K1);СЦЕПИТЬ(B1;C1;D1;E1;F1;G1;H1;I1;J1;K1;L1;M1))))

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

Скрыть данные на листе можно, также, другим способом. Формат ячеек, вкладка Число, выбираем Все форматы, справа а поле Тип ставим три знака точки с запятой «;;;» и нажимаем ОК.

passgen

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

Скачать

Понравилась статья? Поделить с друзьями:
  • Генератор паролей excel vba
  • Генератор отчетов для excel
  • Генератор неповторяющихся случайных чисел excel
  • Генератор макросов для excel
  • Генератор кодов для word