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);}