Codegolf/wpa: Difference between revisions
Jump to navigation
Jump to search
(Angelegt) |
No edit summary |
||
Line 1: | Line 1: | ||
Die Problemstellung: Erzeuge (ggf. mit einem von stdin entgegengenommenem stream von random-bytes) eine WPA-Passphrase, d.h. 63 Zeichen printable ASCII. | Die Problemstellung: Erzeuge (ggf. mit einem von stdin entgegengenommenem stream von random-bytes) eine WPA-Passphrase, d.h. 63 Zeichen printable ASCII. | ||
Die Problemstellung ist aus folgender während eines Treffs in den IRC-Channel geposteten Frage entstanden: | |||
23:55 <@joker> was benutze ich am besten um WLAN pws zu erstellen | |||
23:56 <@joker> pwgen wäre ne möglichkeit, sei aber ja nicht soo sicher | |||
Zwei Stunden später gab es dann einen Satz an Lösungen dafür im Channel. Hier nur die kürzesten Lösungen: | |||
==== C ==== | ==== C ==== |
Revision as of 01:25, 15 February 2013
Die Problemstellung: Erzeuge (ggf. mit einem von stdin entgegengenommenem stream von random-bytes) eine WPA-Passphrase, d.h. 63 Zeichen printable ASCII.
Die Problemstellung ist aus folgender während eines Treffs in den IRC-Channel geposteten Frage entstanden:
23:55 <@joker> was benutze ich am besten um WLAN pws zu erstellen 23:56 <@joker> pwgen wäre ne möglichkeit, sei aber ja nicht soo sicher
Zwei Stunden später gab es dann einen Satz an Lösungen dafür im Channel. Hier nur die kürzesten Lösungen:
C
main(c,i){i=63;while(i)putchar(isprint(c=getchar())?(--i,c):0);}
(Merovius)
"Pure" Perl
perl -ne'/[ -~]/&&($i+=print$&)>63&&die' < /dev/urandom
(mxf)
Perl
perl -ne'y/ -~//cd;print'</dev/urandom|head -c63
(sECuRE)
Shell
</dev/urandom tr -dc [-~] | head -c64
(koebi)
Dann gekürzt zu:
tr -dc \ -~</*/ur*|head -c63
(mxf, sECuRE und Merovius)
Haskell
import Data.Char fkt = do c <- getChar if (((ord c) >= 33) && ((ord c) <= 126)) then putChar c else return() fkt main = do fkt
(joker)