|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Вопрос по скрипту для генерации паролей. |
|
CMD/BAT - Вопрос по скрипту для генерации паролей.
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать
Доброго времени всем.
Подскажите пожалуйста, как будет выглядеть код батника, если необходимо сгенерировать все возможные пароли без повторов, содержащие данный набор символов и букв: 0123456789abcdefghijklmnopqrstuvwxyz Длина пароля - 6 букв и цифр. С сохранением всех сгенерированных паролей в файл. Перепробовал не один батник. Но то, генерация рандомная по кол-ву цифр, то скрипт генерирует по одному паролю. |
|
Отправлено: 15:34, 12-05-2020 |
Ветеран Сообщения: 2709
|
Профиль | Отправить PM | Цитировать У меня тоже был ворох ошибок, обновил PowerShell до 5.1
|
------- Отправлено: 10:08, 15-05-2020 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1754
|
|
Последний раз редактировалось Foreigner, 15-05-2020 в 12:20. Отправлено: 11:57, 15-05-2020 | #42 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
для чисел, есть более быстродействующее решение... Цитата megaloman:
У него много оптимизаций было... и циклы там работают быстрее, примерно в 2 раза |
||
------- Отправлено: 13:05, 15-05-2020 | #43 |
Ветеран Сообщения: 1754
|
Цитата YuS_2:
А то, что есть способы быстрее, то кто бы спорил. |
|
Отправлено: 13:36, 15-05-2020 | #44 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
Тем не менее, Ваш способ достаточно интересный, возьму "на вооружение" |
|
------- Отправлено: 16:59, 15-05-2020 | #45 |
Ветеран Сообщения: 1754
|
Цитата YuS_2:
Запустите с буквенно-цифровым вариантом, разницы нет, зависит только от количества циклов: Скрытый текст
$cmb = 4 $arr = 'a','b','c','d',2,0 $code = for ($i = 0; $i -le ($cmb - 1); $i++) { "for (`$c$i = 0; `$c$i -le $($arr.Length - 1); `$c$i++) {" } $res = for ($i = 0; $i -le ($cmb - 1); $i++) { "`$(`$arr[`$c$i])" } $code += '"' + ($res -join '') + '"' $code += "}" * $cmb $code = $code -join "`n" # $code # проверка сгенерированного кода Invoke-Expression $($code) | Set-Content test.txt PS. Не претендую на самый быстрый и логически правильный вариант |
|
Отправлено: 20:04, 15-05-2020 | #46 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
Вот ещё вариант ... правда он чуть медленнее, хоть и с одним циклом всего. param ( [string]$n = 'abcdefghij', [int]$m = 6 ) function combinations ([int]$x, [string]$y, [int]$lim) { $chararr = $y.tochararray() for ($j=0;$j -lt $lim;$j++){ $k = [string[]]"$j".padleft($x,'0').tochararray() -join $chararr[$k] } } $z = [math]::pow($n.length,$m) combinations $m $n $z |set-content out_test.txt |
|
------- Отправлено: 04:57, 16-05-2020 | #47 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Ну и напоследок, победитель нашего конкурса генераторов прямого перебора :
param( [string]$str = 'abcdefghij', [int] $lim = 6, [string]$path = '.\arrangement_wr_csharp_2.txt' ) add-type @" using System; using System.Collections.Generic; public class Arrangement { static String Convert(string sym, int num, int tLen) { var sym0 = sym[0]; var len = sym.Length; var res = ""; int ind; while (num > 0) { ind = num%len; num = num/len; res = sym[ind] + res; } return res.PadLeft(tLen, sym0); } public static IEnumerable<String> ArrangWithRep(string sym, int len){ for (var i = 0; i < Math.Pow(sym.Length, len); i++) yield return Convert(sym, i, len); } } "@ measure-command{ $file = new-object io.streamwriter ([io.file]::open($path,'Create')) foreach ($item in ([arrangement]::arrangwithrep($str,$lim))){ $file.writeline($item) } $file.close() } | out-file time_arrangement_wr_csharp_2.txt |
------- Отправлено: 17:05, 16-05-2020 | #48 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, подозреваю, что на чистом C, без .Net, будет ещё шустрее.
|
Отправлено: 22:45, 16-05-2020 | #49 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 08:06, 17-05-2020 | #50 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - Вопрос по безопасности сохранённых паролей в 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 |
|