Perl / PowerShell / JavaScriptのワンライナーでどこでもパスワードを生成

Perl

Linuxの環境があればPerlは入ってる確率が高いので、Perlワンライナーです。

$ perl -e '@c = (0x21..0x7E); print chr($c[rand @c]) for 1..32; print "\n"'

記号の種類を制限したければ、

$ perl -e '@c = (a..z, A..Z, 0..9, split(//, "=-#%&")); print $c[rand @c] for 1..32; print "\n"'

5つまとめて生成

$ perl -e 'for (1..5){@c = (a..z, A..Z, 0..9, split(//, "=-#%&")); print $c[rand @c] for 1..32; print "\n";}'

Powershell

Windowsの環境があればPowershellが使えるので、Powershellワンライナーです。

$c=(0x21..0x7E | ForEach-Object {[char]$_}); 1..32 | %{ Get-Random -input $c } | Join-String

記号の種類を制限したければ、

$c="0".."9" + "A".."Z" + "a".."z" + "=-#%&".ToCharArray(); 1..32 | %{ Get-Random -input $c } | Join-String

5つまとめて生成

$c="0".."9" + "A".."Z" + "a".."z" + "=-#%&".ToCharArray(); 1..5 | % {1..32 | %{ Get-Random -input $c } | Join-String}

Powershell on shell

意味はないけど、Bashなどからpwshコマンドを呼ぶワンライナーです。

$ pwsh -c '$c=(0x21..0x7E | ForEach-Object {[char]$_}); 1..32 | %{ Get-Random -input $c } | Join-String'

記号の種類を制限したければ、

$ pwsh -c '$c="0".."9" + "A".."Z" + "a".."z" + "=-#%&".ToCharArray(); 1..32 | %{ Get-Random -input $c } | Join-String'

5つまとめて生成

$ pwsh -c '$c="0".."9" + "A".."Z" + "a".."z" + "=-#%&".ToCharArray(); 1..5 | % {1..32 | %{ Get-Random -input $c } | Join-String}'

JavaScript

ブラウザがあれば、デベロッパーツールのコンソールからJavaScriptを実行できるので、JavaScriptワンライナーです。

c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-#%&"; p=""; for(i=0;i<32;i++) p+=c.charAt(Math.floor(Math.random()*c.length)); console.log(p)

5つまとめて生成

c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-#%&"; for(j=0;j<5;j++){p=""; for(i=0;i<32;i++) p+=c.charAt(Math.floor(Math.random()*c.length)); console.log(p);}