Benutzer:Martin:Simple Kennwörter generieren
Es sollte eine größere Anzahl von Startkennwörtern mit 8 Zeichen generiert werden, die nicht wie statisches Rauschen aussehen, und dazu gleich die passenden Hashes, um sie in eine passwd-Datei einzutragen. Eigentlich waren nur crypt()-Hashes gefordert, aber ich habe nochmal MD5 mit dazugepackt.
(Wenn man einige tausend Kennwörter damit generiert, treten übrigens mit einer recht hohen Wahrscheinlichkeit die ersten Wiederholungen auf. Der Namensraum ist einfach zu klein.)
#!/usr/bin/ruby wordlist="/usr/share/dict/words" words3 = Array.new words4 = Array.new chars = ['-', '+', '.', '*'] File.readlines(wordlist).each do |word| word.chomp! if word =~ /^[a-z]{3}$/i words3.push(word) elsif word =~ /^[a-z]{4}$/i words4.push(word) end end 20.times do pass = "#{words4[rand(words4.size)]}#{chars[rand(chars.size)]}#{words3[rand(words3.size)]}"; hash1 = `echo #{pass} | openssl passwd -crypt -stdin`.chomp! hash2 = `echo #{pass} | openssl passwd -1 -stdin`.chomp! print "#{pass}\t#{hash1}\t#{hash2}\n" end
Beispielausgabe:
Clou+Nov Va9/rwGIHI58U $1$hAYt0zH5$z6ZH2Kqwx6e1ESNGCVikT1 naiv*Top Npwuqce.eH2Pc $1$Wa2Tb1OU$c9j0Jfxd0fqnXRFN5f7NR/ OPTi*Tim T2YI/iIWUsI7U $1$RZ0Tbb4b$MW1j1YiB2N7fvvyIL5hoZ/ nett-Gst N1PJgPwjm1dUo $1$TgDAkQbN$1wQpoqqYs5FkZtSLoIpqO/ gare+ans l7tSU2ov2z63w $1$uaU.j06B$IQabY4IsxVJk/y605mLXx. Ebbe+Don qS66butTIusio $1$nSBJP/na$7V/Qf7BxbY8HnAofItzDF1 Ions.Tod t7ARsSUGntXvk $1$HnW4BZx2$h9rb79c/qS3LZhsjIU0L./ ecke*max Y.oFuyPF46VSo $1$OGpJ1w16$LOHhBQzsrFpvlTSq4HLx41 Satz-Duo Qzt74Foup7fvk $1$300qL/y4$gAQlKOg/YSawm098DBmEU. Juni+kau di9jHeXmzeij2 $1$sOZKapFw$daaKKHYcWk76sN99wDqnX1 Opus-tot xwLP9MUosOLQQ $1$vJwTntjW$G7zRTrM1cnCCyeoDIGyb71 weih.Bit h0Ogay7LphQ4Y $1$fSAsmlOX$30HedR9iq3h8KJ7C..c/.. cool*auf fsaM4ufwTRp6w $1$5duCfjKU$YjtAZhVaWmzCTn51iKjmJ. Chur.arm 8ttux5ITl17Io $1$huIRwgMs$nwhX0ZY8oyTmT4RkeMZK11 lief+Lkw aKrj/aT53dw7k $1$7XfgmSvO$IfOIeIG.r.eHXlkfNjUCx1 dumm*Abs NZKsi4Or8c.wo $1$ZZ3NNgmj$pYHLWP6fLU8FulLQjiY6J0 sind-NDP MIb/Gra74q4lE $1$dgvXRZHU$hTW/CST7JTWRj9wjDdwtl1 doof+gut jnim7VpN8HG/Y $1$Mr4YB780$D0W4mh4SgoUmx6H.M0oqY. Laos+ISP Bk.k0UZH1nNNw $1$qe6Lo21n$uP.eEgfrxB0T1vpoUw/jp0 Feen*Heu X5m/nrXh0rD.A $1$Wrkjj7z6$nOhccWwyETUS8bJyaf0Fp/