Как создать генератор паролей в 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.

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

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

Да            Нет

Содержание

    • 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

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

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

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

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

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

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

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

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

Скачать

Иногда в работе некоторых специалистов (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

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

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

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

Like this post? Please share to your friends:
  • Как создать галочку в excel
  • Как создать галочки в excel
  • Как создать газету word
  • Как создать газетные колонки в word
  • Как создать выпадающий фильтр в excel