PowerShell スクリプト ランダムパスワードジェネレータ (ps random password generator)
このスクリプトがすること ランダムなパスワードを生成する。パスワード1文字あたりの文字数、パスワードの数、保存場所などをカスタマイズすることができる。
スクリプトの使用方法
スクリプトはハードコーディングされていますので、スクリプトを開いて以下の変数を変更する必要があります。
$生成されたパスワードの総数 = 1000
パスワードのビット数 = 12
保存先ディレクトリ = 'e:\pathlog_path'
ディスク上の大容量ファイル = 'f:\'
スクリプトはゆっくりと実行されるので、powershell ウィンドウを縮小してください。
小文字+数字+特殊記号 password.txt]、[大文字+数字 password.txt]、[小文字+数字 password.txt]のファイルです。
ヒント:disk + path + s + <tab> キーを入力すると、スクリプトの名前が自動的に入力されます。
フルコードです。
#This script generates 3 files (lowercase plus numeric passwords.txt, case plus numeric passwords.txt, lowercase plus numeric plus special symbols passwords.txt) in the $ depository directory
#Each file contains $ total number of passwords generated.
#This script generates passwords by adding random numbers based on the large file as a random number seed. Passwords will not be generated if the large file is not found.
Total number of passwords generated = 1000
$number of bits per password = 12
$disk directory = 'e:\script ps\log_ps\'
$disk directory where the large file is located = 'f:\'
[array]$large file type = "*.rmvb","*.mkv","*.mp4","*.avi"
$lowercase plus numeric password = $deposit directory + 'lowercase plus numeric password.txt'
$Uppercase password = $Store directory + 'Upper and lower case plus numeric passwords.txt'
$withSpecialSignPassword = $SaveDiskDir + 'lowercase plus numeric plus special sign password.txt'
#$ErrorActionPreference = "SilentlyContinue"
$Largest 10 files = Get-ChildItem -path $Large file directory -recurse -force -Include $Large file type | Sort-Object length -Descending | select-object -first 10
if ($Largest 10 files.Length -lt 10)
{
Write-Error "This script adds random numbers to generate passwords based on large files as random number seeds. Not finding the large file will not generate the password. "
Write-Error "Can't find $Large file type file on $Large file drive, or total number of files is not 10"
exit
}
$Password seed file = $Largest 10 files | Get-Random
Write-Host " This script generates passwords based on large files as random number seeds, plus random numbers. Failure to find the large file will prevent the password from being generated. "
Write-Host $PasswordSeedFile.FullName,$PasswordSeedFile.length
mkdir $Save directory
Write-Host "----Number of passwords generated: $Total number of passwords generated Location of generation: $Disk "
$filestream = new-object system.io.filestream($password seed file,"open")
$null = $filestream.seek(0,0)
$reader = new-object System.IO.
$lowercase = "a","b","c","d","e","f","g","h","i" ;,"j","k","m","n","o","p","q","r","s","t","t","t","t","t","t","t","t","t","t","t" quot;t","u","v","w","x","y","z"
# lowercase letters without letter l
$number = "2","3","4","5","6","7","8","9"
#No 0,1
$ capital letters = "A","B","C","D","E","F","G","H","J" ;,"K","L","M","N","P","Q","R","S","T","U","U","U","U","U","U","U","U","U","U","U" "U","V","W","X","Y","Z"
$SpecialSign = "~","~","! ","@","#","$","%","^","&","*","(",") "
# capital letters without letters I,O
$Lowercase plus digits = $Lowercase + $number
$Case plus digits = $Uppercase + $Lowercase + $Number
$with special symbols = $lowercase letters + $numbers + $special symbols
Number of $ lowercase plus digits passwords = 0
while ($Number of lowercase plus numeric passwords -lt $Total number of passwords generated)
{
$a password = $null
while ($one password.length -lt $number of digits per password)
{
$random number from file = $reader.Readbyte()
$ps random number = 1..50 | Get-Random
$random = $random number from file - $ps random number
if (($random number -lt 123) -and ($random number -ge 32) )
{
$Password letter = [char][int]$Random
if ($lowercase plus digits -ccontains $password letter)
{
$a password = $a password + $password letter
}
}
}
$result = $one password
if ($result -match "[0-9]+")
{
# shuffle
$Result = $Result | Get-Random -Count $Number of bits per password
$Result >> $Lowercase plus numeric passwords
Write-Host ". " -NoNewline -ForegroundColor Yellow
$Number of lowercase plus numeric passwords ++
}
}
Write-Host "`n--Complete $Total number of passwords generated Number of [lowercase plus numeric] passwords created--"
$ number of passwords with uppercase = 0
while ($ number of passwords with uppercase -lt $ total number of passwords generated)
{
$a password = $null
while ($one password.length -lt $number of digits per password)
{
$random number from file = $reader.Readbyte()
$ps random number = 110..150 | Get-Random
$random = $random number from file - $ps random number
if (($random number -lt 123) -and ($random number -ge 32) )
{
$Password letter = [char][int]$Random
if ($case plus number -ccontains $password letter)
{
$a password = $a password + $password letter
}
}
}
$result = $one password
if ($result -match "[0-9]+")
{
# shuffle
$Result = $Result | Get-Random -Count $Number of bits per password
$Result >> $with-UpperCasePassword
Write-Host ". " -NoNewline -ForegroundColor Yellow
$Number of uppercase passwords ++
}
}
Write-Host "`n--Complete $Total number of passwords generated [uppercase and lowercase plus numbers] passwords created ---"
$ number of passwords with special symbols = 0
while ($Number of passwords with special symbols -lt $Total number of passwords generated)
{
$a password = $null
while ($one password.length -lt $number of digits per password)
{
$random number from file = $reader.Readbyte()
$ps random number = 1..50 | Get-Random
$random = $random number from file - $ps random number
if (($random number -lt 123) -and ($random number -ge 32) )
{
$Password alphabet = [char][int]$Random
if ($contains special symbols -ccontains $password letters)
{
$a password = $a password + $password letter
}
}
}
$result = $one password
if ($result -match "[0-9]+")
{
# shuffle
$Result = $Result | Get-Random -Count $Number of bits per password
$Result >> $Password with special symbols
Write-Host ". " -NoNewline -ForegroundColor Yellow
$Number of passwords with special symbols ++
}
}
Write-Host "`n---Complete $Total number of generated passwords One [lowercase plus numbers plus special symbols] password created--"
#Write-Host `n,$FileStream.Position
Dispose()
Write-Host "`n---Complete 3 passwords, each: $Total number of generated passwords One password created---`nDon't tell me you're missing a password! `nChange passwords diligently! "
パッケージのダウンロード getpwd_jb51.rar
------ [スクリプト機能] ------ [スクリプト機能
最速ではありませんが、本当にランダムです。
擬似乱数。
ランダムなパスワードは、実際には乱数の組み合わせに過ぎません。.netの乱数生成は高速で優れていますが、これも擬似乱数です。pythonの乱数関数
pythonの乱数関数も非常に高速で優秀ですが、これも擬似乱数です。生成されるのは擬似乱数ばかりです。
真の乱数
真の乱数を生成する方法はなく、真の乱数を【取る】だけである。
このスクリプトの素晴らしさ
パスワードのランダム生成はいくつかのバージョンを書きましたが、最初は[ライブラリを呼び出し、擬似乱数を生成する]方法から始めました。その後、[真の乱数を取る]メソッドを見つけ、思わず私を褒めてしまいました(笑)。
ランダムな文字をカスタマイズできる
例えば、このスクリプトジェネレーターは、デフォルトでは、0、1、i、l、oの紛らわしい文字を含まない乱数を生成します。
オープンソースで、バックドアなし。
スクリプトの欠点:遅い。
------ [スクリプトの原理、流れ] ------ [スクリプトの原理、流れ
このスクリプトは、まずdirをあなたの[$大きなファイルの場所ディスクディレクトリ]を使用します。これは遅いステップで、パーミッションがないとエラーを報告するというメッセージは、直感的にわかるように、私が消したわけではありません。
これらのファイルはデフォルトで "*.rmvb","*.mkv","*.mp4","*.avi" であり、 [$large file type] で定義される最大の10ファイルを探します。
そうです、【大容量ムービーファイルから真の乱数を取る】ことなのです
ランダムに1つのファイルを選び、あるルールに従って数字を取り、それを組み合わせて固定長のパスワードを作り、その順番をランダムに乱すことで
そして、数字や特殊記号などの有無から、一致しない乱数を破棄する。
このスクリプトのもう一つの素晴らしい点は、(ランダムインテンシブアルゴリズムの場合)
固定)入力ソース、つまり大きなムービーファイルをロックしても
中の文書、バイトの内容がランダムである限り、結果のパスワードはランダムです。つまり、このスクリプトを2回実行すると、同じ名前のドキュメントが2つ生成され(もちろん、前のドキュメントはリネームする必要がある)、比較すると、生成される乱数がそれぞれ異なっていることがわかる。
文書、バイトの内容がすべて00、255など固定されている場合は、パスワードは生成されません。
------ [最終勧告] ------ [最終勧告] ------ [最終勧告] ------ [最終勧告
漏洩の可能性があるアカウントは、5年に一度、変更することをお勧めします。どうしても変更できない場合は、5年以内に1度でもログイン(利用)したことがあるアカウントに限ります。
5年以上口座番号を変えないと、ログインしていない銀行カードにあるお金が消えてしまうことがあります。国でも10年、8年でお金の様式を変えています。
powershell 宣教師 元記事 2016-02-06 転載を許可する、ただし名前と出典を残すこと、さもなければ法的責任を追及される。
パスワードは1年以内ごとに変更することが推奨されています。パスワードは複雑でなければならず、異なるアカウントで同じものを使用することはありません。
複雑なパスワードはパソコンに書き出し、暗号化する。3部コピーして別々の場所に保管し、6ヵ月ごとに更新する。
私の新しいスクリプト[Grey Master Cow Privacy Notepad]は現在進行中です、ご期待ください。
関連
-
オリジナルpowershellスクリプト gadget ctracert.ps1 trace route(win8+系)
-
PowerShell チュートリアル curl (Invoke-WebRequest) の使用方法について
-
PowerShell 4.0によるサーバセットアップの自動化
-
PowerShellにおける関数のオーバーロードの例
-
サーバーの接続状態を監視するためのPowershellの実装
-
PowerShell正規表現(Regex)の右から左へのマッチング方式のコード例
-
コンピュータのシリアル番号を取得するためのPowershellスクリプト
-
PowerShellでPrintManagementを使用してプリンターを管理する例
-
タイプ別ソートのPowershell実装
-
PowerShellスクリプトファイルをcmdで直接実行する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PowerShell音声電卓実装コード
-
Ubuntu PowerShell詳解(初心者必見チュートリアル)
-
SQL SERVERデータベースに接続して操作するためのPowerShellコード
-
Powershellは、ユーザーのプライマリSMTPアドレスを検索します。
-
テキストファイルの暗号化・復号化に対するPowershellのアプローチ例
-
Powershellで定数を定義する方法
-
システム上の停止可能な全サービスを取得するPowershell
-
PowerShell ローカルアカウントスクリプト共有の追加
-
Powershell ISE 抽象構文木 プログラミング例
-
Powershellでカスタムオブジェクトを作成する例