正文

PowerShell脚本 随机密码生成器(ps随机密码生成器)(随机密码生成Python代码)快来看

文章摘要

这篇文章描述了一个脚本用于生成密码。脚本的主要功能是根据一个大文件作为随机数种子,生成三种类型的密码:小写加数字、大小写加数字,以及小写加数字加特殊符号。每种密码类型生成数量为1000个,每个密码位数为12位。脚本首先检查大文件的可用性,如果没有找到足够的大文件或大文件不存在,则提示错误并退出。生成密码的过程包括随机读取文件内容、处理密码字符,并通过“洗牌”处理避免重复。脚本还提到了文件路径设置、密码种子文件的选择以及生成过程的步骤。

 #本脚本会在 $存盘目录 下生成3个文件(小写加数字密码.txt,大小写加数字密码.txt,小写加数字加特殊符号密码.txt) #每个文件中含有 $生成密码总个数 个密码。 #这个脚本根据大文件作为随机数种子,加随机数产生密码。找不到大文件将无法产生密码。 $生成密码总个数=1000 $每个密码位数=12 $存盘目录=’e:\脚本ps\log_ps\’ $大文件所在盘符=’f:\’ [array]$大文件类型=”*.rmvb”,”*.mkv”,”*.mp4″,”*.avi” $小写加数字密码=$存盘目录 + ‘小写加数字密码.txt’ $含大写密码=$存盘目录 + ‘大小写加数字密码.txt’ $含特殊符号密码=$存盘目录 + ‘小写加数字加特殊符号密码.txt’ #$ErrorActionPreference=”SilentlyContinue” $最大的10个文件=Get-ChildItem -path $大文件所在盘符 -recurse -force -Include $大文件类型 | Sort-Object length -Descending | select-object -first 10 if ($最大的10个文件.Length -lt 10) { Write-Error “这个脚本根据大文件作为随机数种子,加随机数产生密码。找不到大文件将无法产生密码。” Write-Error “在 $大文件所在盘符 找不到 $大文件类型 文件,或文件总数不够10个” exit } $密码种子文件=$最大的10个文件 | Get-Random Write-Host “这个脚本根据大文件作为随机数种子,加随机数产生密码。找不到大文件将无法产生密码。” Write-Host $密码种子文件.FullName,$密码种子文件.length mkdir $存盘目录 Write-Host “—生成的密码个数:$生成密码总个数 生成位置:$存盘目录 ” $文件流=new-object system.io.filestream($密码种子文件,”open”) $null=$文件流.seek(0,0) $reader=new-object System.IO.BinaryReader($文件流) $小写字母=”a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”,”k”,”m”,”n”,”o”,”p”,”q”,”r”,”s”,”t”,”u”,”v”,”w”,”x”,”y”,”z” #小写字母没有字母 l $数字=”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″ #没有0,1 $大写字母=”A”,”B”,”C”,”D”,”E”,”F”,”G”,”H”,”J”,”K”,”L”,”M”,”N”,”P”,”Q”,”R”,”S”,”T”,”U”,”V”,”W”,”X”,”Y”,”Z” $特殊符号=”~”,”!”,”@”,”#”,”$”,”%”,”^”,”&”,”*”,”(“,”)” #大写字母没有字母 I,O $小写加数字=$小写字母 + $数字 $大小写加数字=$大写字母 + $小写字母 + $数字 $含特殊符号=$小写字母 + $数字 + $特殊符号 $小写加数字密码个数=0 while ($小写加数字密码个数 -lt $生成密码总个数) { $一个密码=$null while ($一个密码.length -lt $每个密码位数) { $源自文件的随机数=$reader.Readbyte() $ps随机数=1..50 | Get-Random $随机数=$源自文件的随机数 – $ps随机数 if (($随机数 -lt 123) -and ($随机数 -ge 32) ) { $密码字母=[char][int]$随机数 if ($小写加数字 -ccontains $密码字母) { $一个密码=$一个密码 + $密码字母 } } } $结果=$一个密码 if ($结果 -match “[0-9]+”) { #洗牌 $结果=$结果 | Get-Random -Count $每个密码位数 $结果 >> $小写加数字密码 Write-Host “.” -NoNewline -ForegroundColor Yellow $小写加数字密码个数++ } } Write-Host “`n—完成 $生成密码总个数 个【小写加数字】密码创建—” $含大写密码个数=0 while ($含大写密码个数 -lt $生成密码总个数) { $一个密码=$null while ($一个密码.length -lt $每个密码位数) { $源自文件的随机数=$reader.Readbyte() $ps随机数=110..150 | Get-Random $随机数=$源自文件的随机数 – $ps随机数 if (($随机数 -lt 123) -and ($随机数 -ge 32) ) { $密码字母=[char][int]$随机数 if ($大小写加数字 -ccontains $密码字母) { $一个密码=$一个密码 + $密码字母 } } } $结果=$一个密码 if ($结果 -match “[0-9]+”) { #洗牌 $结果=$结果 | Get-Random -Count $每个密码位数 $结果 >> $含大写密码 Write-Host “.” -NoNewline -ForegroundColor Yellow $含大写密码个数++ } } Write-Host “`n—完成 $生成密码总个数 个【大写小写加数字】密码创建—” $含特殊符号密码个数=0 while ($含特殊符号密码个数 -lt $生成密码总个数) { $一个密码=$null while ($一个密码.length -lt $每个密码位数) { $源自文件的随机数=$reader.Readbyte() $ps随机数=1..50 | Get-Random $随机数=$源自文件的随机数 – $ps随机数 if (($随机数 -lt 123) -and ($随机数 -ge 32) ) { $密码字母=[char][int]$随机数 if ($含特殊符号 -ccontains $密码字母) { $一个密码=$一个密码 + $密码字母 } } } $结果=$一个密码 if ($结果 -match “[0-9]+”) { #洗牌 $结果=$结果 | Get-Random -Count $每个密码位数 $结果 >> $含特殊符号密码 Write-Host “.” -NoNewline -ForegroundColor Yellow $含特殊符号密码个数++ } } Write-Host “`n—完成 $生成密码总个数 个【小写加数字加特殊符号】密码创建—” #Write-Host `n,$文件流.Position $文件流.Dispose() Write-Host “`n—完成3种密码,每种: $生成密码总个数 个密码创建—`n别告诉我你缺密码!`n勤修改密码!”