脚本作用:产生随机密码。每密码字符个数,密码数量,存盘位置等可以自定义。
脚本用法:
脚本采用了硬编码,所以你需要打开脚本,修改如下变量:
$生成密码总个数 = 1000
$每个密码位数 = 12
$存盘目录 = 'e:\脚本ps\log_ps\'
$大文件所在盘符 = 'f:\'
并保存,然后运行脚本,脚本运行的较慢,可以缩小powershell窗口,n分钟后去【$存盘目录】收取生成的密码
文件【小写加数字加特殊符号密码.txt】,【大小写加数字密码.txt】,【小写加数字密码.txt】。
提示:打入盘符+路径+s+<tab>键,脚本名自动补全。

全部代码:
#本脚本会在 $存盘目录 下生成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勤修改密码!"
打包下载:getpwd_jb51.rar
------【脚本特色】------
不求最快,但求真随机。
伪随机数:
随机密码其实就是随机数的组合而已,.net的随机数生成很快很好,但也是伪随机数。python的随机数功能
也很快很好,但也只是伪随机数而已。生成的都是伪随机数。
真随机数:
没法生成真随机数,只能【取】真随机数。
本脚本之妙:
我写了好几个版本的随机密码生成,开始都是用【调用库,生成伪随机数】法。后来我找到了【取真随机数】的方法,我简直忍不住要赞美我啊,呵呵。
可以自定义随机字符:
比如:本脚本生成器生成的随机数中,默认没有0,1 , i, l,o这些容易混淆的字母。
开放源码,无后门。
脚本缺点:比较慢。
------【脚本原理,流程】------
脚本首先会用dir你的【$大文件所在盘符】。这一步比较慢,无权限会报错的信息我也没关闭,目的是直观。
找出【$大文件类型】定义的10个最大的文件,这些文件默认是 "*.rmvb","*.mkv","*.mp4","*.avi"
没错,就是【从大电影文件中取真随机数】!
随机选其中一个文件,按照一定规则取数,然后组合成固定长度的密码,然后再随机打乱顺序,
然后根据是否有数字,特殊符号,抛弃不符合的随机数。
本脚本另一个妙的地方是:(为了随机故意而为的算法)
即便你锁定(固定)输入源,即大电影文件,
只要文档内,字节内容随机,产生的密码就随机。即2次运行脚本,将产生2个同名文档(当然你要把前面的改名),对比之,发现生成的每个随机数都不同。
如果文档内,字节内容固定,如都是00,255之类,则不会产生密码。
------【最终建议】------
建议5年内更换一次有可能泄密的帐号。如果实在不能换帐号,必须5年内登录(使用)过1次。
超5年不换账号,不登陆的银行卡的钱,都有可能没了。连国家过个10年8年都更改钱的样式。
powershell 传教士 原创文章 2016-02-06 允许转载,但必须保留名字和出处,否则追究法律责任
建议每年更换密码,或者更短的时间更换密码。密码必须复杂,不同帐号的密码绝不相同。
复杂的密码记在电脑上,然后加密。复制3份,放在不同地方,每半年更新。
本人脚本新作【灰主牛 隐私记事本】 正在创作中,敬请期待。。。
# 随机密码生成器
# PowerShell 指令操作集合(小结)
# 如何利用PowerShell监控Win-Server性能详解
# PowerShell中Job相关命令及并行执行任务详解
# 基于PowerShell在Ubuntu系统的使用详解
# PowerShell 远程执行任务的方法步骤
# 使用 powershell 创建虚拟机
# 通过DNS TXT记录执行powershell
# PowerShell实现简单的grep功能
# PowerShell 语音计算器实现代码
# 原创powershell脚本小工具ctracert.ps1跟踪路由(win8以上系统)
# powershell玩转SQL SERVER所有版本的方法
# powershell玩转sqlite数据库详细介绍
# PowerShell基本使用教程
# 随机数
# 大文件
# 特殊符号
# 找不到
# 都是
# 帐号
# 很好
# 自定义
# 文档
# 比较慢
# 年内
# 都有
# 放在
# 有可能
# 会在
# 的钱
# 要把
# 采用了
# 但也
# 然后再
相关文章:
如何配置IIS站点权限与局域网访问?
如何基于云服务器快速搭建个人网站?
湖北网站制作公司有哪些,湖北清能集团官网?
PHP 500报错的快速解决方法
linux top下的 minerd 木马清除方法
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
官网网站制作腾讯审核要多久,联想路由器newifi官网
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
建站之星代理如何获取技术支持?
网站按钮制作软件,如何实现网页中按钮的自动点击?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
如何规划企业建站流程的关键步骤?
建站之星下载版如何获取与安装?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
长沙做网站要多少钱,长沙国安网络怎么样?
建站之星logo尺寸如何设置最合适?
如何彻底删除建站之星生成的Banner?
如何做静态网页,sublimetext3.0制作静态网页?
建站主机空间推荐 高性价比配置与快速部署方案解析
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
测试制作网站有哪些,测试性取向的权威测试或者网站?
建站之星如何实现网站加密操作?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
ppt制作免费网站有哪些,ppt模板免费下载网站?
如何在七牛云存储上搭建网站并设置自定义域名?
简单实现Android文件上传
Android自定义控件实现温度旋转按钮效果
专业商城网站制作公司有哪些,pi商城官网是哪个?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
网站制作公司排行榜,四大门户网站排名?
如何选择域名并搭建高效网站?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
平台云上自主建站:模板化设计与智能工具打造高效网站
香港服务器网站卡顿?如何解决网络延迟与负载问题?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何快速搭建高效香港服务器网站?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
C++如何编写函数模板?(泛型编程入门)
建站之星Pro快速搭建教程:模板选择与功能配置指南
建站主机服务器选购指南:轻量应用与VPS配置解析
手机网站制作与建设方案,手机网站如何建设?
定制建站价位费用解析与套餐推荐全攻略
,怎么在广州志愿者网站注册?
如何在建站宝盒中设置产品搜索功能?
html制作网站的步骤有哪些,iapp如何添加网页?
油猴 教程,油猴搜脚本为什么会网页无法显示?
*请认真填写需求信息,我们会在24小时内与您取得联系。