#!/usr/bin/perl #genpasswd.pl - generate secure passwords # umfang des passwortspektrums festlegen $numbers = "1234567890"; $alpha_small = "abcdefghijklmnopqrstuvwxyz"; $alpha_big = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $extra = "!@#$%^&*()_+-=[]{}\|;':\",./<>?`"; # string in array umwandeln @numbers = split(//,$numbers); @alpha_small = split(//,$alpha_small); @alpha_big = split(//,$alpha_big); @extra = split(//,$extra); # programm aufrufen &main_routine; sub main_routine { # variabel mit wert aus zufallsgenerator auffüllen my @rand_id_num = rand_choice_number(); my @rand_id_sma = rand_choice_small(); my @rand_id_big = rand_choice_big(); my @rand_id_ext = rand_choice_extra(); # zuordnung zufallszahl zu umfang des passwortspektrums foreach $num (@rand_id_big) { push(@passwd_raw,@alpha_big[$num]); } foreach $num (@rand_id_num) { push(@passwd_raw,@numbers[$num]); } foreach $num (@rand_id_sma) { push(@passwd_raw,@alpha_small[$num]); } foreach $num (@rand_id_ext) { push(@passwd_raw,@extra[$num]); } $passwd = @passwd_raw[0] . @passwd_raw[1] . @passwd_raw[2] . @passwd_raw[3] .@passwd_raw[4] .@passwd_raw[5] . @passwd_raw[6] .@passwd_raw[7] . @passwd_raw[8] . @passwd_raw[9]. @passwd_raw[10]; print "$passwd\n"; sub rand_choice_extra { @random_numbers1 = (); $rand_choice_1 = int( rand(31)) + 0; $rand_choice_2 = int( rand(31)) + 0; $rand_choice_3 = int( rand(31)) + 0; push(@random_numbers1,$rand_choice_1); push(@random_numbers1,$rand_choice_2); push(@random_numbers1,$rand_choice_3); return @random_numbers1; } sub rand_choice_small { @random_numbers2 = (); $rand_choice_1 = int( rand(26)) + 0; $rand_choice_2 = int( rand(26)) + 0; $rand_choice_3 = int( rand(26)) + 0; push(@random_numbers2,$rand_choice_1); push(@random_numbers2,$rand_choice_2); push(@random_numbers2,$rand_choice_3); return @random_numbers2; } sub rand_choice_big { @random_numbers3 = (); $rand_choice_1 = int( rand(26)) + 0; $rand_choice_2 = int( rand(26)) + 0; $rand_choice_3 = int( rand(26)) + 0; push(@random_numbers3,$rand_choice_1); push(@random_numbers3,$rand_choice_2); push(@random_numbers3,$rand_choice_3); return @random_numbers3; } sub rand_choice_number { @random_numbers4 = (); $rand_choice_1 = int( rand(10)) + 0; $rand_choice_2 = int( rand(10)) + 0; $rand_choice_3 = int( rand(10)) + 0; push(@random_numbers4,$rand_choice_1); push(@random_numbers4,$rand_choice_2); push(@random_numbers4,$rand_choice_3); return @random_numbers4; } } #main_routine