phu*_*clv 7

取决于您希望密码的强度。当然,如果安全性不是问题,那么echo %random%%random%在 cmd 或Get-Random -Minimum 100000000PowerShell 中就可以了

使用 PowerShell,您还有另一个更好的选择:调用GeneratePassword(int length, int numberOfNonAlphanumericCharacters). 例如,要生成一个至少包含 3 个特殊符号的 12 个字符长的密码,您可以这样称呼它

# Just need to call once at the start of the script
[Reflection.Assembly]::LoadWithPartialName("System.Web")

[System.Web.Security.Membership]::GeneratePassword(12, 3)
Run Code Online (Sandbox Code Playgroud)

有几篇关于此的 MS TechNet 博客文章:

如果您不想使用 PowerShell,那么这里有一个纯批处理解决方案


.NET Core 不支持 System.Web.dll,因此它[System.Web.Security.Membership]::GeneratePassword()支持,您必须编写自定义密码生成器或在 Internet 上找到一些可用代码。这是PowerShell Core密码生成中的一个(6+)

$symbols = '!@#$%^&*'.ToCharArray()
$characterList = 'a'..'z' + 'A'..'Z' + '0'..'9' + $symbols
function GeneratePassword {
    param(
        [Parameter(Mandatory = $false)]
        [ValidateRange(12, 256)]
        [int] 
        $length = 14
    )
    
    do {
        $password = ""
        for ($i = 0; $i -lt $length; $i++) {
            $randomIndex = [System.Security.Cryptography.RandomNumberGenerator]::GetInt32(0, $characterList.Length)
            $password += $characterList[$randomIndex]
        }

        [int]$hasLowerChar = $password -cmatch '[a-z]'
        [int]$hasUpperChar = $password -cmatch '[A-Z]'
        [int]$hasDigit = $password -match '[0-9]'
        [int]$hasSymbol = $password.IndexOfAny($symbols) -ne -1

    }
    until (($hasLowerChar + $hasUpperChar + $hasDigit + $hasSymbol) -ge 3)
    
    $password | ConvertTo-SecureString -AsPlainText
}
Run Code Online (Sandbox Code Playgroud)

也可以看看

您还可以安装密码生成器模块

$ModuleName = "RandomPasswordGenerator"
Get-Module -Name $ModuleName -ListAvailable | Uninstall-Module
Install-Module $ModuleName -Force -Confirm:$false
Run Code Online (Sandbox Code Playgroud)


slh*_*hck 5

跨平台:使用 PERL

有一个适用于 Windows、*nix、OS X 等的PERL 密码生成器

Usage: genpass [-OPTIONS] LENGTH
-s, --symbols       Exclude symbol characters.
-n, --numbers       Exclude number characters.
-u, --uppercase     Exclude uppercase characters.
-l, --lowercase     Exclude lowercase characters.
Run Code Online (Sandbox Code Playgroud)

在 Windows 上,它可以转换为可执行文件

仅限 Windows

警告:这将更改管理员帐户的密码。

不是特别想要什么,但也可能有用。在命令行中,键入:

net user administrator /random    
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Unix/Linux

请参阅此问题的答案:Random password generator: many, in column, on command line, in Linux

  • **警告** `net user administrator /random` **重置**管理员密码。 (2认同)