Какой инструмент командной строки может генерировать пароли в Windows?

Я ищу что-то такое, как использование

passgen <length> <charset>

6 ответов

Решение

Кроссплатформенность: использование PERL

Есть генератор паролей PERL, который работает для Windows, *nix, OS X и т. Д.

Usage: genpass [-OPTIONS] LENGTH
-s, --symbols       Exclude symbol characters.
-n, --numbers       Exclude number characters.
-u, --uppercase     Exclude uppercase characters.
-l, --lowercase     Exclude lowercase characters.

В Windows его можно преобразовать в исполняемый файл.

Windows, только

Не совсем то, что вы хотите, но также может пригодиться. В командной строке введите:

net user administrator /random    

введите описание здесь

Unix / Linux

Смотрите ответы на этот вопрос: Генератор случайных паролей: много, в столбцах, в командной строке, в Linux

Зависит от того, насколько сильно вы хотите, чтобы ваш пароль. Конечно, если безопасность не является проблемой, то echo %random% в cmd или get-random в PowerShell будет просто работать

С PowerShell вы можете просто позвонить GeneratePassword(int length, int numberOfNonAlphanumericCharacters), Например, чтобы сгенерировать 12-значный длинный пароль с минимум 3 специальными символами, вы можете назвать его следующим образом

[Reflection.Assembly]::LoadWithPartialName("System.Web")
[System.Web.Security.Membership]::GeneratePassword(12, 3)

На MS TechNet есть несколько постов в блоге:

Если вы не хотите работать с PowerShell, вот вам пакетное решение

Взгляните на генератор паролей командной строки SecurePassword Kit (архивная ссылка). Он имеет следующий синтаксис:

gspk.exe /g [-l:password_length] [-a:charset_options] 


Просто для пояснения: gspk.exe - это исполняемый файл программы с графическим интерфейсом, но его также можно использовать в командной строке, вызывая его с аргументами.

Вы можете использовать PowerShell, теперь он кроссплатформенный, вы можете скачать PowerShell 7 с GitHub. Я могу дать вам этот простой код для этой задачи. Примечание. Я тестировал свой код только в PowerShell 7. Я гарантирую, что мой код будет работать, однако я не знаю, будет ли он работать в PowerShell 5.1.

Код:

      $randomstring=for ($i=0;$i -lt 100;$i++) {
    $choice=$(get-random -min 0 -max 99) % 2
    switch ($choice)
    {
        0 {[char]$(Get-Random -Min 65 -Max 90)}
        1 {[char]$(Get-Random -Min 97 -Max 122)}
    }
}
$randomstring=$randomstring -join ""
$randomstring

Он сгенерирует случайную строку из заглавных и строчных латинских букв длиной 100 (всего 100 букв).

Пример вывода:

      GRTkSpLsUtigeJfpENKoyoFGeUSgbWDNIQKFmDeDldtsICSIdaFAfpkKikVmyLPNojQJwrwBTjSqygEUeJiaJNjVARhpHPUWDCYw

Теперь, если вы хотите добавить символы и цифры:

      [array]$symbols=@('+','-','*','/','?','\')
$randomstring=for ($i=0;$i -lt 100;$i++) {
    $choice=$(get-random -min 0 -max 99) % 4
    switch ($choice)
    {
        0 {[char]$(Get-Random -Min 65 -Max 90)}
        1 {[char]$(Get-Random -Min 97 -Max 122)}
        2 {$symbols[$(Get-Random -Min 0 -Max $($symbols.count-1))]}
        3 {$(Get-Random -Min 0 -Max 9)}
    }
}
$randomstring=$randomstring -join ""
$randomstring

Пример вывода:

      CoRWBjiphnfO3fXXvQaYS?JLGWISH?wRtn-P*nS-E*y8D?E53/E4?+?q7Kd-M//?2tl5t*gU*pHdqorL5/5a0wS6N3*2SvOx-ni8

Настройте по мере необходимости; Если вам нужна более короткая строка, измените число 100 в$i -lt 100на желаемый номер. А если вам нужны другие символы, поместите в них символ, заключенный в кавычки.[array]$symbols=@('+','-','*','/','?','\')строка, символы разделяйте запятой;

deepsix будет генерировать пароли (или множество паролей) в командной строке.

Он кроссплатформенный, разработанный на C, и работает на всех платформах, на которых я его тестировал: macOS, x86 и 64-битной Windows и Linux. Так же, как вы описываете, он предлагает-cNumberЧарса и-iIterationsи в настоящее время предлагает прописные, строчные и числовые символы.

В настоящее время я добавляю безопасные для пароля символы в версии 2.0, но версия 1.0c доступна уже сейчас, работает локально и не требует Интернета. Это инструмент командной строки, без графического интерфейса, но это не должно быть проблемой. Я опубликовал исходный код и несколько предварительно скомпилированных исполняемых файлов платформы. Надеюсь, кто-то еще выиграет от этого, поскольку я хотел его достаточно долго и в конце концов написал его сам.

Хорошо, поздно, но это будет полезно. Я надеюсь.

TL:DR Итак, позвольте мне поделиться этим с вами https://github.com/the-j0k3r/batch-101 и посмотреть, как работает простой генератор паролей.

Давным-давно я написал генератор паролей, он позволял мне генерировать пароли с более высокой энтропией, чем %random% (поскольку %random% на самом деле вообще не является случайным) и любой длины в Windows, а также позволяет сохранять пароли в файл со ссылкой на каждый пароль, поэтому теоретически вы можете сохранить этот файл на внешнем диске для удобства использования и дополнительной безопасности.

Другие вопросы по тегам