Powershell生成Windows密碼算法簡(jiǎn)單學(xué)習(xí)
更新時(shí)間:2013年03月12日 17:09:29 作者:
利用Powershell生成Windows密碼:密碼一共8位/字符的次序是隨機(jī)組成的等等,接下來(lái)為你詳細(xì)介紹下,感興趣的你可以參考下哈,希望對(duì)你學(xué)習(xí)Powershell有所幫助
說(shuō)明:
1、密碼一共8位。
2、由2個(gè)數(shù)字,2個(gè)大寫(xiě)字符,2個(gè)小寫(xiě)字符,2個(gè)特殊字符組成。
3、字符的次序是隨機(jī)組成的。
function CreatePassword
{
$figure=1,2,3,4,5,6,7,8,9;
$capital="Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M";
$lowercase="q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m";
$specialCharacter="~","!","@","#","$","%","^","&","*","(",")","-","+";
$order=New-Object System.Collections.ArrayList;
for($i=0;$i -lt 8;$i++)
{
[void]$order.Add($i);
}
$newOrder=@();
for($i=0;$i -lt 8;$i++)
{
$produceOrder=Get-Random -InputObject $order;
$newOrder+=$produceOrder;
$order.Remove($produceOrder);
}
$newPassword=@();
foreach($i in $newOrder)
{
if($i -eq 0)
{
$index=Get-Random -Maximum 8;
$newPassword+=$figure[$index];
}
if($i -eq 1)
{
$index=Get-Random -Maximum 8;
$newPassword+=$figure[$index];
}
if($i -eq 2)
{
$index=Get-Random -Maximum 25;
$newPassword+=$capital[$index];
}
if($i -eq 3)
{
$index=Get-Random -Maximum 25;
$newPassword+=$capital[$index];
}
if($i -eq 4)
{
$index=Get-Random -Maximum 25;
$newPassword+=$lowercase[$index];
}
if($i -eq 5)
{
$index=Get-Random -Maximum 25;
$newPassword+=$lowercase[$index];
}
if($i -eq 6)
{
$index=Get-Random -Maximum 12;
$newPassword+=$specialCharacter[$index];
}
if($i -eq 7)
{
$index=Get-Random -Maximum 12;
$newPassword+=$specialCharacter[$index];
}
}
return $newPassword -join "";
}
測(cè)試結(jié)果:
1、密碼一共8位。
2、由2個(gè)數(shù)字,2個(gè)大寫(xiě)字符,2個(gè)小寫(xiě)字符,2個(gè)特殊字符組成。
3、字符的次序是隨機(jī)組成的。
復(fù)制代碼 代碼如下:
function CreatePassword
{
$figure=1,2,3,4,5,6,7,8,9;
$capital="Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M";
$lowercase="q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m";
$specialCharacter="~","!","@","#","$","%","^","&","*","(",")","-","+";
$order=New-Object System.Collections.ArrayList;
for($i=0;$i -lt 8;$i++)
{
[void]$order.Add($i);
}
$newOrder=@();
for($i=0;$i -lt 8;$i++)
{
$produceOrder=Get-Random -InputObject $order;
$newOrder+=$produceOrder;
$order.Remove($produceOrder);
}
$newPassword=@();
foreach($i in $newOrder)
{
if($i -eq 0)
{
$index=Get-Random -Maximum 8;
$newPassword+=$figure[$index];
}
if($i -eq 1)
{
$index=Get-Random -Maximum 8;
$newPassword+=$figure[$index];
}
if($i -eq 2)
{
$index=Get-Random -Maximum 25;
$newPassword+=$capital[$index];
}
if($i -eq 3)
{
$index=Get-Random -Maximum 25;
$newPassword+=$capital[$index];
}
if($i -eq 4)
{
$index=Get-Random -Maximum 25;
$newPassword+=$lowercase[$index];
}
if($i -eq 5)
{
$index=Get-Random -Maximum 25;
$newPassword+=$lowercase[$index];
}
if($i -eq 6)
{
$index=Get-Random -Maximum 12;
$newPassword+=$specialCharacter[$index];
}
if($i -eq 7)
{
$index=Get-Random -Maximum 12;
$newPassword+=$specialCharacter[$index];
}
}
return $newPassword -join "";
}
測(cè)試結(jié)果:

相關(guān)文章
Powershell檢查網(wǎng)站響應(yīng)并計(jì)算執(zhí)行時(shí)間例子
這篇文章主要介紹了Powershell檢查網(wǎng)站響應(yīng)并計(jì)算執(zhí)行時(shí)間例子,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03Windows Powershell 訪(fǎng)問(wèn)數(shù)組
本文主要講訴了windows powershell 從數(shù)組中選擇多個(gè)元素,將數(shù)組逆序輸出,給數(shù)組添加和刪除元素,希望對(duì)大家理解powershell能有所幫助2014-09-09PowerShell腳本實(shí)現(xiàn)網(wǎng)卡DHCP自動(dòng)獲取IP地址、設(shè)置靜態(tài)IP地址的方法
這篇文章主要介紹了PowerShell腳本實(shí)現(xiàn)網(wǎng)卡DHCP自動(dòng)獲取IP地址、設(shè)置靜態(tài)IP地址的方法,本文同時(shí)講解了用PowerShell設(shè)置網(wǎng)卡DHCP、靜態(tài)IP的方法,需要的朋友可以參考下2014-08-08探索PowerShell(十) 循環(huán)語(yǔ)句介紹
本節(jié)所要討論的內(nèi)容的實(shí)質(zhì)更多的偏向于程序設(shè)計(jì)方面,所以在此不做過(guò)多詳細(xì)講解,只針對(duì)PowerShell中的應(yīng)用進(jìn)行具體講解2012-12-12PowerShell查看本機(jī)文件關(guān)聯(lián)程序和默認(rèn)打開(kāi)程序的方法
這篇文章主要介紹了PowerShell查看本機(jī)文件關(guān)聯(lián)程序和默認(rèn)打開(kāi)程序的方法,本文給出了查看方法,同時(shí)給出了一份讀取結(jié)果,需要的朋友可以參考下2015-06-06Powershell實(shí)現(xiàn)按類(lèi)型排序
這篇文章主要介紹了Powershell實(shí)現(xiàn)按類(lèi)型排序,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03