![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Вопрос по скрипту для генерации паролей. |
|
CMD/BAT - Вопрос по скрипту для генерации паролей.
|
Новый участник Сообщения: 2 |
Доброго времени всем.
Подскажите пожалуйста, как будет выглядеть код батника, если необходимо сгенерировать все возможные пароли без повторов, содержащие данный набор символов и букв: 0123456789abcdefghijklmnopqrstuvwxyz Длина пароля - 6 букв и цифр. С сохранением всех сгенерированных паролей в файл. Перепробовал не один батник. Но то, генерация рандомная по кол-ву цифр, то скрипт генерирует по одному паролю. |
|
Отправлено: 15:34, 12-05-2020 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Fors1k_m, так каждый может! Вы мне Мурку сбацайте! Дайте формулу, а не программу.
|
------- Отправлено: 23:48, 12-05-2020 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 23:54, 12-05-2020 | #12 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать Fors1k_m, давайте упростим задачу: есть символы 0 1 2 3 4 5 6 7 8 9 a b c d e f
То есть имеем 16 цифр стандартной шестнадцатиричной системы. Всевозможные комбинации этих цифр можно получить элементарным счетом: 000000 000001 000002 ... 00000f 000010 ... ffffff Возьмите любой калькулятор, который переводит числа из шестнадцатиричной системы в десятичную, и переведите в десятичную число: ffffff=16 777 215 То есть вот это количество уникальных чисел от 000000 до ffffff То есть символов (16) гораздо меньше рассматриваемых в предложенной задаче (36), а чисел намного больше, чем насчитали Вы 1 947 792 для бОльшего числа символов. То есть, Ваше число вычислено некорректно. Похоже, и я ошибаюсь на 1 (не учитываю в подсчете 000000) Кстати, вот калькулятор, можете там напрямую перевести число ZZZZZZ тридцатишестиричной системы в десятичную. |
------- Последний раз редактировалось megaloman, 13-05-2020 в 01:16. Отправлено: 00:51, 13-05-2020 | #13 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Кстати, так как мы говорим о паролях, то ab и ba это разные наборы данных, а значит количество возможных уникальных комбинаций здесь будет не 1 947 792, а 1 402 410 240.
Вычисление
Итог: Замер для(1/1000) 1 402 411 комбинаций показал: Время: 12сек.Для полного объема вариантов ориентировочно будет: Время: 3ч.20мин |
Последний раз редактировалось Fors1k, 14-10-2021 в 21:59. Отправлено: 01:41, 13-05-2020 | #14 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
Цитата Fors1k_m:
![]() 1402410240 |
|||
------- Отправлено: 08:09, 13-05-2020 | #15 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата Fors1k_m:
скорость - 1000 комбинаций в секунду (такая скорость точно реальна?) 1402410240/1000/60/60/24 = 16,2316 дней |
|
------- Отправлено: 08:47, 13-05-2020 | #16 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Скорость=1 402 411 Комбинаций / 12 сек= 116 867 комбинаций в секунду. Но у меня ещё комп очень старый(Intel LGA775), думаю у других побыстрее будет. Так как 1 402 411 - это одна тысячная от общего количества, то для всех вариантов время=12*1000/60/60=3 часа 20 минут. |
|
Последний раз редактировалось Fors1k, 13-05-2020 в 17:59. Отправлено: 09:24, 13-05-2020 | #17 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Кстати, так как набор символов неисчерпаем, то количество возможных уникальных комбинаций для данной задачи будет не 1 402 410 240, а 2 176 782 336.
Вычисление: Param( $m=6, # Размер комбинации $n=36 # Количество используемых элементов )cls function Get-FullPossibility($m, $n) { $i=$j=$k=$z=1;($n-$m+1)..$n|%{$i*=$_};1..$m| ForEach{$j*=$_};1..$n|%{$k*=$_;};1..($n-$m)| ForEach-Object{$z*=$_};$p=[Math]::Pow($n,$m) Write-Output @{ "Вариантов сочетаний " = ($i/$j) "Вариантов размещений" = ($k/$z) "Вариантов размещений с повторами" = $p }|FT -AutoSize } Get-FullPossibility $m $n Name Value ---- ----- Вариантов сочетаний 1947792 Вариантов размещений 1402410240 Вариантов размещений с повторами 2176782336 Замер для(1/1000) 2 176 783 комбинаций показал: Время: 18сек.Для полного объема вариантов ориентировочно будет: Время: 5ч. |
Последний раз редактировалось Fors1k, 14-10-2021 в 22:11. Отправлено: 10:17, 13-05-2020 | #18 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать YuS_2, Fors1k_m,
Следите за руками, никакого мошенничества!
Доводим задачу до маразма: набор символов 0123456789, надо посчитать, сколько чисел содержится в диапазоне от 000000 до 999999.
Считаем: раз два три четыре пять .... МИЛЬЁН! (если приплюсовать 000000) Вот результаты скрипта YuS_2, (цитирую с минимальными изменениями для приведенного случая): function get-factorial([int]$num = 1) { switch ($num -le 1) { $true { $num } $false {$num*(get-factorial(--$num))} } } # количество размещений $n = '0123456789' $m = 6 $A = (get-factorial $n.length)/(get-factorial ($n.length - $m)) $A Если на клетке слона прочтешь надпись: буйвол, — не верь глазам своим. Кстати, если длина строки =2 (00 - 99) Ваш скрипт декларирует 90. - что-то в консерватории надо менять. Мой суперноут 2007 года выпуска по скрипту @Echo Off rem Set "Simb=0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z" Set "Simb=0 1 2 3 4 5 6 7 8 9" Set "FileOut=Z:\Box_Out\FileOut.txt >"%FileOut%" Echo %time% >>"%FileOut%" (For %%i In (%Simb%) Do For %%j In (%Simb%) Do For %%k In (%Simb%) Do For %%l In (%Simb%) Do For %%m In (%Simb%) Do For %%n In (%Simb%) Do Echo %%i%%j%%k%%l%%m%%n) >>"%FileOut%" Echo %time% Exit /B Цитата Fors1k_m:
|
|
------- Последний раз редактировалось megaloman, 13-05-2020 в 10:37. Отправлено: 10:25, 13-05-2020 | #19 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
впрочем, я опоздал со своим комментарием |
|
Отправлено: 11:00, 13-05-2020 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - Вопрос по безопасности сохранённых паролей в IE 10. | Crysiser | Microsoft Windows 8 и 8.1 | 5 | 30-06-2016 14:21 | |
2010 - макрос для генерации значений по условиям | Elizavetta | Microsoft Office (Word, Excel, Outlook и т.д.) | 12 | 03-12-2015 12:21 | |
Вопросы по скрипту Lightbox | maasja | Вебмастеру | 14 | 04-02-2011 12:39 | |
fpdf класс для генерации pdf с помощью php | zvezda_t | Вебмастеру | 0 | 29-09-2010 09:06 | |
Вопрос - Программы для генерации и хранения паролей | SashaKl | Защита компьютерных систем | 13 | 08-10-2009 15:44 |
|