Joh*_*ohn 8 windows password-generation command-line
我正在寻找具有类似用途的东西
passgen <length> <charset>
Run Code Online (Sandbox Code Playgroud)
取决于您希望密码的强度。当然,如果安全性不是问题,那么echo %random%%random%
在 cmd 或Get-Random -Minimum 100000000
PowerShell 中就可以了
使用 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)
有一个适用于 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 上,它可以转换为可执行文件。
警告:这将更改管理员帐户的密码。
不是特别想要什么,但也可能有用。在命令行中,键入:
net user administrator /random
Run Code Online (Sandbox Code Playgroud)
请参阅此问题的答案:Random password generator: many, in column, on command line, in Linux
归档时间: |
|
查看次数: |
17543 次 |
最近记录: |