Генератор паролей онлайн
Содержание:
- Наивный подход
- Создание длинных паролей
- Менеджеры паролей уменьшают случайность
- HTML верстка и анализ содержания сайта
- Генератор пароля
- Создание случайной буквенно-цифровой строки из фиксированных букв и цифр
- How Does This Random Unicode Generator Work?
- Где и как хранить свои пароли
- Генераторы паролей для Linux
- Как создать безопасный пароль
- Что такое менеджер паролей?
- Класс Random
- Создание массива со случайными числами
Наивный подход
Вот два примера кода, которые может реализовать программист, не знакомый с ограничениями генераторов случайных чисел в стандартных библиотеках программирования:
C
# include <time.h> # include <stdio.h> # include <stdlib.h> int main(void) { /* Length of the password */ unsigned short int length = 8; /* Seed number for rand() */ srand((unsigned int) time()); /* ASCII characters 33 to 126 */ while (length--) { putchar(rand() % 94 + 33); } printf("\n"); return EXIT_SUCCESS; }
В этом случае стандартная функция С рант , который представляет собой генератор псевдослучайных чисел , сначала высевали с использованием функции C время , но позже итераций используют рандов вместо этого. Согласно стандарту ANSI C, время возвращает значение типа time t , которое определяется реализацией, но чаще всего представляет собой 32-битное целое число, содержащее текущее количество секунд с 1 января 1970 года ( см. Unix time ). В году около 31 миллиона секунд, поэтому злоумышленник, который знает год (простой вопрос в ситуациях, когда политика паролей требует частой смены пароля ) и идентификатор процесса , с которым был сгенерирован пароль, сталкивается с относительно небольшим числом. по криптографическим стандартам, вариантов для тестирования. Если злоумышленник более точно знает, когда был сгенерирован пароль, он сталкивается с еще меньшим количеством кандидатов для тестирования — серьезный недостаток в этой реализации.
В ситуациях, когда злоумышленник может получить зашифрованную версию пароля, такое тестирование может быть выполнено достаточно быстро, так что несколько миллионов пробных паролей могут быть проверены за считанные секунды. См .: взлом пароля .
Функция rand представляет еще одну проблему. Все генераторы псевдослучайных чисел имеют внутреннюю память или состояние. Размер этого состояния определяет максимальное количество различных значений, которые оно может создать: n- битное состояние может создавать не более разных значений. Во многих системах rand имеет 31- или 32-битное состояние, что уже является значительным ограничением безопасности. Документация Microsoft не описывает внутреннее состояние реализации стандартной библиотеки C rand в Visual C ++ , но имеет только 32767 возможных выходов (15 бит) на вызов. Microsoft рекомендует использовать другую, более безопасную функцию rand_s. По словам Microsoft, вывод rand_s криптографически безопасен и не использует семя, загруженное функцией srand. Однако его программный интерфейс отличается от rand.
2п{\ Displaystyle 2 ^ {п}}
PHP
function pass_gen(int $length = 8) string { $pass = array(); for ($i = ; $i < $length; $i++) { $pass[] = chr(mt_rand(32, 126)); } return implode($pass); }
Во втором случае используется функция PHP microtime , которая возвращает текущую временную метку Unix с микросекундами. Это увеличивает количество возможностей, но тот, кто хорошо знает, когда был сгенерирован пароль, например, дату начала работы сотрудника, по-прежнему имеет достаточно мало места для поиска. Кроме того, некоторые операционные системы не обеспечивают разрешение по времени до микросекунд, что резко сокращает количество вариантов выбора. Наконец, функция rand обычно использует базовую функцию C rand и может иметь небольшое пространство состояний, в зависимости от того, как она реализована. Альтернативный генератор случайных чисел mt_rand, основанный на генераторе псевдослучайных чисел Mersenne Twister , доступен в PHP, но также имеет 32-битное состояние. Есть предложения по добавлению сильной генерации случайных чисел в PHP.
Создание длинных паролей
Как было сказано, генераторы паролей не обязательно выбирают из пула всех возможных паролей, совпадающих по длине и наборам символов, которые вы выбрали. Но решение простое — создавайте более длинные пароли. Вам не нужно запоминать эти пароли, поэтому они могут быть огромными. Настолько длинными, насколько разрешает сайт. На некоторых сайтах устанавливаются ограничения на длину паролей.
Чем больше пространство поиска (то, что было названо пулом доступных паролей), тем больше времени потребуется для атаки типа брутфорс. Вы можете использовать Password Haystack Calculator на сайте Gibson Research, чтобы почувствовать значение длины.
Введите пароль и увидите, сколько времени потребуется для взлома. На сайте обещают не сохранять вводимые вами пароли
Но ради осторожности лучше всё же не вводить пароли, которые вы действительно используете в своих учётных записях. Четырёхсимвольный пароль, такой как 1eA&, может взламываться не один день, если хакеру придётся отправлять варианты в интернет
Если же перебор происходит локально на компьютере, когда хакер может делать перебор на высокой скорости, время взлома составляет доли секунды.
Поместив пароль TrashExpert!2077 в калькулятор Гибсона, можно узнать, что даже при использовании крупного массива взлома потребуется 1,41 млн столетий, чтобы взломать его.
Менеджеры паролей уменьшают случайность
Конечно, генераторы паролей не возвращают буквально случайные числа. Вместо этого они возвращают строку символов, используя случайные числа для выбора из доступных наборов символов. Вы всегда должны разрешать использование всех доступных наборов символов, если только вы не создаёте пароль для сайта, который не допускает использование специальных символов.
Набор доступных латинских символов включает в себя 26 заглавных букв, 26 строчных букв и 10 цифр. Он также включает в себя набор специальных символов, который у разных генераторов может быть разным. Предположим, что доступно 18 специальных символов. В итоге получается выбор из 80 символов. В полностью случайном пароле есть 80 вариантов для каждого символа. Если вы выберете восьмизначный пароль, количество возможных вариантов составит 80 в 8 степени, или 1 677 721 600 000 000 — больше квадриллиона. Это сложная задача для взлома методом перебора, а угадывание методом перебора — единственный способ взломать действительно случайный пароль.
Рассмотрим пример. Существует 40 960 000 возможных четырёхсимвольных паролей, взятых из набора из 80 символов. Но некоторые генераторы паролей принудительно выбирают хотя бы по одному символу каждого типа, и это резко снижает количество вариантов. Есть 80 вариантов для первого символа. Предположим, это заглавная буква; набор для второго символа — 54 (80 минус 26 заглавных букв). Далее предположим, что второй символ — это строчная буква. Для третьего символа остаются только цифры и специальные символы из 28 вариантов. И если третий символ знак препинания, последний должен быть цифрой, то есть 10 вариантов. 40 млн возможностей сокращаются до 1 209 600.
Использование всех наборов символов не является необходимостью на многих сайтах. Чтобы это требование не привело к сокращению вариантов паролей, установите большую длину пароля. Когда пароль достаточно длинный, эффект навязывания разных типов символов становится незначительным.
Другие ограничения в менеджерах паролей тоже сокращают набор возможных паролей. Например, RememBear Premium указывает точное количество символов каждого из четырёх наборов символов, что резко сокращает пул. По умолчанию для этого требуются две заглавные буквы, две цифры, 14 строчных букв и никаких символов, всего 18 символов. Это приводит к тому, что пул паролей в сотни миллионов раз меньше, чем если бы он просто требовал одного или нескольких символов каждого типа. Проблема снова решается созданием более длинного пароля.
LastPass и некоторые другие по умолчанию избегают неоднозначных пар символов, таких как цифра 0 и буква O. Если вам не нужно запоминать пароль, в этом нет необходимости; отключите эту опцию. Также не выбирайте вариант создания произносимого пароля, такого как «entlestmospa». Эта опция важна только в том случае, если вы должны запомнить пароль. Применение этой опции не только ограничивает вас строчными символами, но и отвергает огромное количество возможностей, которые генератор паролей считает непроизносимыми.
HTML верстка и анализ содержания сайта
Размещённая в данном блоке информация используется оптимизаторами для контроля наполнения контентом главной страницы сайта, количества ссылок, фреймов, графических элементов, объёма теста, определения «тошноты» страницы.
Отчёт содержит анализ использования Flash-элементов, позволяет контролировать использование на сайте разметки (микроформатов и Doctype).
IFrame – это плавающие фреймы, которые находится внутри обычного документа, они позволяет загружать в область заданных размеров любые другие независимые документы.
Flash — это мультимедийная платформа компании для создания веб-приложений или мультимедийных презентаций. Широко используется для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей.
Микроформат — это способ семантической разметки сведений о разнообразных сущностях (событиях, организациях, людях, товарах и так далее) на веб-страницах с использованием стандартных элементов языка HTML (или XHTML).
Генератор пароля
Пароль — тот случай, когда размер имеет значение
Опустим про «каждый сотый пароль в мире — это qwerty, password и 123456» и статистику про ежегодный взлом миллиардов таких паролей. Все это хоть и непроверенные, но очевидные факты. Но они не заставляют ставить надежные пароли, это же все не про тебя. Так, видимо, думали и крупные компании.
В Google стажировался студент из Индии, который смог получить доступ к спутнику компании через административную панель, просто оставив поля ввода логина и пароля пустыми. Еще один популярный пароль там, где можно не ставить пароль вообще.
Данные более 14 миллионов избирателей штата Техас в США стали доступны в режиме онлайн просто потому, что сервер защитили паролем «texas».
Сотрудники Организации Объединенных Наций хранят документы в Trello и Google Docs, которые не защищены паролем. По ссылкам они становятся доступны всем желающим.
А чем думала компания «Нутелла», советовавшая своим подписчикам использовать в качестве надежного пароля слово Nutella вообще не ясно. (https://twitter.com/NutellaGlobal/status/992027051765981184)
Каким должен быть надёжный пароль
Были времена, когда пароль наподобие «Pa55w0rd» было тяжело взломать. Когда такие комбинации стали подбираться моментально, стали рекомендовать пароли с спецсимволами, но и комбинация «P@$5w0rd» подбирается за несколько часов.
Сейчас, чем длиннее пароль, тем он надёжнее. Подбор простой, но длинной комбинации из 12 случайных цифр и букв займёт 24 года. Добавьте к ней всего один символ, и потребуется уже тысяча лет. 14 символов — 42 тысячи лет. 15 символов — 2 миллиона лет. Пароль из 16 букв и цифр подбирается за 74 миллиона лет. Остаётся пожелать хакерам удачи и терпения.
Как создавать надёжные пароли
Очевидно, даже длинная комбинация, состоящая из единичек, вскрывается на раз-два. Сложнее всего угадать случайные наборы символов, но человеческий мозг не силён в этом деле и неизбежно обращается к каким-то датам, событиям и подобным комбинациям.
Для начала, используйте разные пароли и секретные вопросы для нескольких важных аккаунтов. Сложите две, известные только вам даты, вставьте между ними любимое слов — пароль из 16 символов готов.
Не делайте паролем одно имя. Сделайте длинное слово сложив имена ваших животных, друзей, родителей в случайном порядке и вставив специальные символы в качестве разделителей.
Общедоступные номера, вроде телефона, дома, почтового индекса или дня рождения точно не подойдут. Дата вашей поездки в Турцию вместе с городом прибывания — уже лучше.
Не используйте одно, даже длинное и красивое слово из популярных словарей, они все уже давно в базе подбора. Даже традесканция и промискуитет, да.
Как хранить пароли
Лучше — в голове. В крайнем случае — используйте мастер-пароль. Грубо говоря, это цифровой защищённый сейф, в котором лежат все ваши пароли. Чтобы открыть сейф, нужен мастер-пароль. Соответственно, вместо десятков комбинаций вам нужно будет держать в голове только одну, открывающую доступ ко всем остальным.
Для этого есть различные сервисы и уже некоторые браузеры (Яндекс.Браузер) или операционные системы (связка ключей в macOS) встраивают такой функционал
При таком подходе важно помнить о правиле цепи, согласно которому надёжность всей системы равна надёжности её самого слабого звена. Проще говоря, мастер-пароль должен быть действительно сложным и длинным, а беречь его нужно особенно тщательно
Ну лучше держите в голове, по крайней мере самые важные.
Создание случайной буквенно-цифровой строки из фиксированных букв и цифр
Например, предположим, что нам нужна случайно сгенерированная буквенно-цифровая строка, содержащая пять букв и четыре цифры. Нам нужно определить эти параметры в функции.
Напишем программу для генерации буквенно-цифровой строки, содержащей фиксированное количество букв и цифр.
fixedString.py
import random import string def random_string(letter_count, digit_count): str1 = ''.join((random.choice(string.ascii_letters) for x in range(letter_count))) str1 += ''.join((random.choice(string.digits) for x in range(digit_count))) sam_list = list(str1) # it converts the string to list. random.shuffle(sam_list) # It uses a random.shuffle() function to shuffle the string. final_string = ''.join(sam_list) return final_string # define the length of the letter is eight and digits is four print("Generated random string of first string is:", random_string(8, 4)) # define the length of the letter is seven and digits is five print("Generated random string of second string is:", random_string(7, 5))
Выход:
How Does This Random Unicode Generator Work?
This random Unicode character generator works entirely in your browser and is written in JavaScript. To generate random glyphs, the program first parses two code point ranges. The first range specifies code points (in format, where is a hex value) of all symbols that can possibly be generated. The second range specifies code points that should be excluded from the first range. Then it calculates a single array that contains all code points of the first range that are not in the second range (this value is the set difference ). To do it, it converts the code points of both ranges from the hexadecimal base to decimal base by calling the function and then runs the function. If the option «Allow Repeated Code Points» is disabled, the program first s the array and extracts code points from it by running a loop from to . If repetitions are allowed, then it starts a loop and uses the function to extract code points from the array. Each extracted code position is put in the variable and it’s then converted into a Unicode character thru the function from the object. Additionally, if the option to show code point values is selected, then the generation algorithm also adds the hexadecimal code point value in the correct format before or after the character. The program es each generated symbol onto an array called and when the loop finishes, all random symbols are joined in a single string with the specified separator between them by the function .
Created by Browserling
This random unicode generator was created by me and my team at Browserling. Behind the scenes, it’s actually powered by our web developer tools that are used by millions of people every month. Browserling itself is an online cross-browser testing service powered by alien technology. Check it out!
Secret message: If you love my tools, then I love you, too! Use coupon code TOOLLING to get a discount at my company.
Где и как хранить свои пароли
Существует достаточно много вариантов хранения паролей, вот лишь некоторые из них:
Попытаться запомнить
Этот способ можно рассматривать только если нет необходимости помнить пароли от большого количества сервисов.
Плюсы: не требуется физических носителей, пароль невозможно украсть (кроме способов социальной инженерии описанных выше).
Минусы: обычный человек не может помнить много различных сложных паролей, пароль можно забыть.
Записать на бумаге
Этот способ предпочитает старшее поколение, по привычке записывающее логины, пароли, номера телефонов и другие данные в блокнот.
Плюсы: у злоумышленников не будет возможности доступа к такому носителю.
Минусы: ручной поиск и ввод данных для авторизации, возможность утери или случайной порчи бумажного носителя.
Записать в текстовом файле
Текстовый документ на компьютере часто используют как альтернативу бумажному носителю.
Плюсы: пароли в файле легко найти и скопировать за несколько кликов.
Минусы: пароли доступны только на одном устройстве, при использовании другого компьютера или смартфона получить доступ к файлу не получится. Второй минус в том, что пароли могут украсть при несанкционированном доступе к компьютеру.
Хранить на флешке
Это ещё один способ хранения паролей, который предпочитает в основном старшее поколение.
Плюсы: мобильность: флешку можно носить с собой, и текстовый документ с паролями будет всегда под рукой.
Минусы: как и в случае с бумажным носителем, флешку можно потерять или случайно испортить. Потеря флеш-накопителя может привести не только к утрате паролей, но и к несанкционированному доступу злоумышленников.
Хранить облачном сервисе
Этот способ стал особенно популярным в последнее время благодаря широкому распространению облачных технологий. Текстовые документы с паролями можно размещать во всех облачных хранилищах, например, в Дропбоксе, Яндекс Диске, Гугл Драйве, Microsoft OneDrive или в онлайн-блокнотах вроде Evernote.
Плюсы: доступность паролей из любого места, с любых компьютеров и мобильных устройств подключенных к интернету.
Минусы: опасность случайного открытия публичного доступа. При взломе учетной записи в облачном хранилище, злоумышленник может получить все пароли сразу.
Хранить в браузере
Функция запоминания паролей присутствует во всех современных браузерах.
Плюсы: эта возможность значительно упрощает и ускоряет процесс входа в аккаунты различных сервисов. Существует возможность синхронизации паролей между разными устройствами.
Минус: пароль может быть удален при переустановке или обновлении браузера. Разработчики браузеров не рекомендуют “запоминать” важные пароли, так как есть риск несанкционированного доступа к данным для авторизации со стороны вредоносных программ.
Использовать менеджер паролей
Такие сервисы (KeePasS, LastPass и1Password и другие) созданы специально для надежного хранения данных для авторизации.
Плюсы: информация в менеджерах паролей хранится в зашифрованном виде, что сильно повышает уровень защиты данных от несанкционированного доступа. Пароли доступны онлайн с любого устройства. У некоторых менеджеров паролей есть расширения для браузеров и приложения для мобильных устройств.
Минусы: большинство менеджеров паролей платные и в некоторых из них достаточно сложно разобраться неподготовленному пользователю.
Генераторы паролей для Linux
1. pwgen
pwgen создает безопасные пароли, которые в то же время очень легко запомнить. Легко запоминаемые пароли не будут так же безопасны как действительно случайные, но это приемлемый уровень риска для большинства случаев. Преимущество запоминающихся паролей очевидно — у вас не возникнет желание записать их или сохранить в электронном виде в небезопасном месте.
Утилита pwgen довольно популярная, поэтому есть в официальных репозиториях большинства дистрибутивов. Для установки в Ubuntu наберите:
При запуске pwgen без параметров будет сгенерирован целый список паролей. Просто выберите понравившийся вариант, и очистите терминал чтобы никто не подсмотрел что вы выбрали. Для запуска наберите:
Как только выберете пароль используйте команду clear чтобы очистить вывод. Если вы уверены что никто не смотрит можно заставить программу генерировать только один пароль:
Для создания полностью случайного пароля используйте опцию -s:
Чтобы сделать пароль еще более безопасным можно использовать в нем один специальный символ, например восклицательный знак, кавычка, точка, плюс, минус, равно и т д. Для этого сеть опция -y:
Если вас не устраивает стандартная длина пароля, ее можно изменить опцией -n, генерация паролей linux длиной в десять символов:
Опция -0 — позволяет не использовать цифры, а опция -B — не использовать символы которые можно спутать при печати, например: L и 1, 0 и O.
2. makepasswd
Утилита makepasswd работает аналогично pwgen, однако она не пытается создать пароли которые легко запомнить. Все пароли генерируются случайным образом с акцентом на безопасность.
Для установки в Ubuntu откройте терминал и выполните:
Для создания одного пароля введите:
Для генерации пяти паролей, с минимальным количеством символов 10, наберите:
Вы также можете указать символы для генерации пароля. Это может быть полезно при создании пин-кодов. Например для получения четырехзначного пин-кода используйте:
3. PasswordMaker
Программа Passwordmaker немного отличается от двух предыдущих. Она позволяет сгенерировать пароль linux на основе URL. Первоначально это было расширение для популярных браузеров Internet Explorer и Firefox и т д. Пакет passwordmaker-cli устанавливает консольную версию программы:
Для генерации пароля нужно указать url и мастер пароль. Утилита на основе этих данных создает уникальный пароль. Например:
В результате мы видим очень даже безопасный но не просто запоминаемый пароль. Если вы снова запустите программу с тем же url и мастер-паролем будет сгенерирован тот же пароль. Это означает что вы можете создать пароль для определенного сайта, который нет необходимости помнить, и не нужно нигде хранить. Перед тем, как сгенерировать этот пароль утилита попросит ввести мастер-пароль, который будет использоваться для генерации, поэтому это безопасно.
Всегда держите ваши пароли в надежном месте и не используйте очевидные варианты такие как password или qwerty.
Как создать безопасный пароль
Лучше всего задать пароль для каждого из используемых сайтов отдельно. Не стоит ставить одинаковый код для аккаунтов всех соцсетей. Лучше выбирать при регистрации новую комбинацию. Некоторые сайты предлагают функцию генерации пароля. Они генерируют онлайн какую-то сложную комбинацию, а вы можете согласиться или нет.
Для Wi-Fi
Выбрать пароль для вайфай несложно. Правила те же: не меньше 8 символов, содержит буквы, цифры и спецсимволы. Сначала смените стандартный логин и пароль, которые используются для входа в настройки маршрутизатора. Потом сгенерируйте рандомный пароль и поставьте его на беспроводную сеть.
Для взлома вайфай используются не переборщики кодов, а программа, перехватывающая процедуру «рукопожатия», которая происходит при каждом подключении к вайфай. После этого, используя полученный код, подключаются к сети. Или декодируют его и получают пароль, который вводят самостоятельно. Защититься от взлома помогает только WPS.
Для компьютера и папок
Для компьютеров, ноутбуков и для паролей на папку есть совет: используйте русские слова в английской раскладке. Если фразу «ШарикЛюбитМячик» отгадать не стоит труда, то переведя в английский и добавив символов, мы получим «Ifhbr1!8K.,bn%$Vzxbr». И вот это подобрать уже сложно.
С телефона вводить такой код будет мучением, так что стоит использовать его только на компьютере и папках. Там, где обе раскладки одновременно перед глазами. Ну или для больших сайтов, с которыми нет смысла работать с телефона, например, для сайта Госуслуг.
Для почты
Комбинацию для электронки лучше создать онлайн. Если это не «мусорная» почта, которую вы втыкаете во все подозрительные места, то лучше использовать надежную комбинацию, которую можно сгенерировать онлайн на нашей площадке. Этот код придется вводить и с компьютера, и с телефона, так что проследите, чтобы он был запоминающимся и удобным.
Для соцсетей
Эти комбинации придется вводить часто и с разных устройств, так что суперсложными их делать не стоит. К тому же везде доступна двухфакторная авторизация. Например, такая функция есть в ВК. Без кода, пришедшего на телефон, зайти в аккаунт не получится. Так что можно поставить средний по сложности пароль.
Что такое менеджер паролей?
Из названия понятно, что менеджер паролей – это программа, позволяющая хранить все вводимые вами пароли (и не только пароли) и управлять ими. Это ее предназначение. Такое приложение выступает в роли хранилища данных, зачастую привязанного к серверам одной компании, которая обязуется эти данные оберегать от злоумышленников.
Менеджер паролей помогает быстрее заполнять формы для авторизации и автоматизирует этот процесс. Но что еще важнее, он берет на себя процедуру создания пароля. Неосторожные пользователи выбирают себе пароли в духе «123456» или «пароль». Они делают это, чтобы не запоминать что-то более сложное, а в итоге ставят под угрозу свои данные и те сервисы, на которых зарегистрировались (а их могут быть сотни, ведь на всех используется один и тот же пароль).
Менеджер паролей – это ваша безопасность и отсутствие головной боли, связанной с выдумыванием кодов доступа для каждого сайта и их запоминанием. Думаете, что вам такая вещь не нужна?
5 причин завести менеджер паролей
Чтобы понять, нужен ли вам такой менеджер, взгляните на список ниже и честно ответьте, узнаете ли в каком-либо пункте себя. Если узнаете хотя бы в одном, то вам стоит воспользоваться менеджером.
- Вы не умеете создавать сложные пароли и запоминать их. Поэтому вам нужен помощник, способный сделать это за вас.
- Вы уже несколько раз становились жертвами взлома после массовой утечки данных и не успевали вовремя среагировать.
- Вы теряете заметки, рабочие контакты и прочие данные, которые нужно хранить в надежном и скрытом от лишних глаз месте.
- Вы часто совершаете покупки в интернете и уже устали каждый раз вручную вводить информацию с банковских карт.
- У вас большая база логинов, тянущаяся из кучи браузеров массу лет, и вы хотите перенести ее в единое хранилище.
Это основные причины, из-за которых люди начинают использовать менеджер, но не все. Кто-то скачивает такое приложение, чтобы контролировать конфиденциальные данные всей семьи, а кто-то хранит в нем информацию из-за удобной системы тегов.
Класс Random
Предположим, мы имитируем игру «покер на костях». Пять кубиков бросаются, и с каждым броском мы получаем пять значений, каждое из которых будет в пределах от одного до шести. Консольное приложение, генерирующее шесть значений, будет таким:
namespace KUBIK_POKER { class Program { static void Main(string[] args) { for (int i = 1; i < 6; i++) //Цикл на 5 “бросков” { Random sluchainaya_velichina = new Random(); //обращение к классу случайных величин int kubik = sluchainaya_velichina.Next(1, 6); //переменная kubik принимает значение от 1 до 6 Console.Write(kubik + " | "); // Вывод на экран результата броска } } } }
Мы использовали метод и указали в качестве аргумента диапазон значений (левое число включается, правое — нет).
Создание массива со случайными числами
Код следующего приложения позволяет генерировать случайную комбинацию чисел, наполняя массив. Число элементов (размер массива) возьмем равным 17:
{ class Program { static Random ranGen = new Random(); static void Main(string[] args) { const int arrayLength = 17, randomMinimum = 0, randomMaximum = 101; var randomMassiv = new int; for (int i = 0; i < arrayLength; i++) { randomMassiv = ranGen.Next(randomMinimum, randomMaximum); } foreach (var item in randomMassiv) { Console.WriteLine(item.ToString()); } Console.ReadLine(); } } }
Напоследок, для закреплений знаний об инструменте генерирования псевдослучайных величин, мы предлагаем вам приложение, которое генерирует заданное количество паролей из указанного количества символов. Нам понадобится проект и несколько стандартных элементов интерфейса. Добавим поля ввода (две штуки), поле для списка сгенерированных паролей и кнопку для запуска алгоритма.
namespace WindowsFormsApp7 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { listBox1.Items.Clear(); int num_letters = int.Parse(textBox1.Text); Ввод количества букв в слове int num_words = int.Parse(textBox2.Text); Ввод количества слов // Создаем массив букв, которые мы будем использовать. char[] letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray(); //массив символов Random rand = new Random(); // Генератор случайного выбора for (int i = 1; i <= num_words; i++) // Цикл для количества слов { string word = ""; for (int j = 1; j <= num_letters; j++) { // Выбор случайного числа от 0 до 25 // для выбора буквы из массива букв. int letter_num = rand.Next(0, letters.Length - 1); word += letters; } listBox1.Items.Add(word); // Добавление нового слова в список } } } }