Benutzer:Martin:Simple Kennwörter generieren

aus PUG, der Penguin User Group
Wechseln zu: Navigation, Suche

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/