|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Вопрос по скрипту для генерации паролей. |
|
CMD/BAT - Вопрос по скрипту для генерации паролей.
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать
Доброго времени всем.
Подскажите пожалуйста, как будет выглядеть код батника, если необходимо сгенерировать все возможные пароли без повторов, содержащие данный набор символов и букв: 0123456789abcdefghijklmnopqrstuvwxyz Длина пароля - 6 букв и цифр. С сохранением всех сгенерированных паролей в файл. Перепробовал не один батник. Но то, генерация рандомная по кол-ву цифр, то скрипт генерирует по одному паролю. |
|
Отправлено: 15:34, 12-05-2020 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Ну и совсем напоследок, абсолютный победитель нашего конкурса генераторов прямого перебора :
param( $pathOut = 'C:\temp\test.txt', $Symbols = 'abcdefghij', $Length = 6 )cls function Get-Combinations($pathOut,$Symbols,$Length){$cmd=@" using System;using System.IO; public class Combiner{ public static string Combinations(string[] sym, string writePath){ using (StreamWriter fs=new StreamWriter(writePath, false, System.Text.Encoding.Default)){ foreach (string i in sym){//do`nfs.WriteLine (i/*i*/);}//end }return "Done!";}} "@;[string[]]$sym=$Symbols.ToCharArray() for($i=1;$i -lt $Length;$i++){$cmd=$cmd -Replace '//do', "`nforeach (string i$i in sym){//do" $cmd=$cmd -Replace '//end', "}//end";$cmd=$cmd.Replace('/*i*/', "+i$i/*i*/") }Add-Type $cmd;[Combiner]::Combinations($sym,$pathOut)} (Measure-Command{ Get-Combinations $pathOut $Symbols $Length }).TotalSeconds еще
'abcdefghij0123' = 1,978599
'0123456789abcdefghij' = 17,4350418 |
Последний раз редактировалось Fors1k, 17-05-2020 в 18:24. Отправлено: 16:35, 17-05-2020 | #51 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Из любопытства сравнил на своём ноуте:
скрипт PS Fors1k_m скрипт PS YuS_2 скрипт CMD Megaloman макрос VBA Excel скрипт Vbs 6-0123456789 Fors1k_m PS 1.2s Megaloman vba Exc 4.3s YuS_2 PS 4.7s Megaloman vbs 9.3s Megaloman CMD 43s 6-0123456789abcdef Fors1k_m PS 10.6s Megaloman vba Exc 38s YuS_2 PS 124s Megaloman vbs 151s VBS (vba) прямой перебор
'Sub rrr2() Symb = "abcdefghij" Symb = "0123456789abcdef" ' Symb = "0123456789" N = 6 FileOut = "Z:\Box_Out\6-0123456789abcdef_vbs_line.txt" T = Timer NS = Len(Symb) ReDim Smb(NS - 1) For i = 1 To NS Smb(i - 1) = Mid(Symb, i, 1) Next Set F = CreateObject("Scripting.FileSystemObject").CreateTextFile(FileOut, True) Call SortLine(N, Smb, F, 0, "") F.Close MsgBox Timer - T 'End Sub Sub SortLine(ii, SS, F, NN, sOut) NN1 = NN + 1 If NN1 = ii Then For Each i In SS sOut1 = sOut1 + sOut + i + vbCrLf Next F.Write sOut1 Else For Each i In SS sOut1 = sOut + i Call SortLine(ii, SS, F, NN1, sOut1) Next End If End Sub VBS генератор строк с уникальными символами
'Sub rrr() Symb = "0123456789abcdef" N = 6 FileOut = "Z:\Box_Out\vbs_uni_6-0123456789abcdef.txt" T = Timer NS = Len(Symb) For i = 1 To NS Smb = Smb + vbTab + Mid(Symb, i, 1) Next Set F = CreateObject("Scripting.FileSystemObject").CreateTextFile(FileOut, True) Call Sort(N, Smb, F, 0, "") F.Close MsgBox Timer - T 'End Sub Sub Sort(ii, SS, F, NN, sOut) MS = Split(Mid(SS, 2), vbTab) NN1 = NN + 1 If NN1 = ii Then For Each i In MS sOut1 = sOut1 + sOut + i + vbCrLf Next F.Write sOut1 Else For Each i In MS sOut1 = sOut + i SS1 = Replace(SS, vbTab + i, "") Call Sort(ii, SS1, F, NN1, sOut1) Next End If End Sub |
------- Отправлено: 18:26, 17-05-2020 | #52 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Fors1k_m:
Цитата Fors1k_m:
при прочих равных, PS 5.1 TotalSeconds : 4,5936197 TotalSeconds : 1,049038 быстрее в 4,6 раз для '0123456789abcdefghij' TotalSeconds : 306,0904845 TotalSeconds : 42,464878 быстрее в 7,2 раз т.е. с увеличением числа символов целевого набора, разница существенно возрастает... а по сути: 64000000 - 42,5сек считаем для 36 - 6: 2176782336 - 1445 сек/60= 24 мин. уже более-менее вменяемый результат, который можно ещё ускорить, если использовать железо получше и PS v7.0 для 10^6 в PS 7.0 TotalSeconds : 3,4414547 TotalSeconds : 0,5906468 для 64000000 в PS 7.0 TotalSeconds : 214,1145746 TotalSeconds : 25,2777355 - как-то так... файл, кстати, получается 488,2Мб Цитата megaloman:
|
|||
------- Последний раз редактировалось YuS_2, 17-05-2020 в 19:27. Отправлено: 19:07, 17-05-2020 | #53 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 19:19, 17-05-2020 | #54 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось YuS_2, 17-05-2020 в 20:07. Отправлено: 19:23, 17-05-2020 | #55 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Интересно увидеть результат у кого-нибудь на современном пк. Цитата YuS_2:
10^6 = 2,1835635 36^6 = 391,1104797 VBS (vba) от megaloman, на моем железе: 10^6 = 3,387438 |
||
Последний раз редактировалось Fors1k, 17-05-2020 в 20:53. Отправлено: 20:40, 17-05-2020 | #56 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Fors1k_m:
|
|
------- Отправлено: 20:53, 17-05-2020 | #57 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Запустил еще раз: 10^6 = 0,2484363 |
|
Отправлено: 21:00, 17-05-2020 | #58 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - Вопрос по безопасности сохранённых паролей в 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 |
|