|
(view this code in a separate window) #!/usr/bin/perl # # passwd_generator.pl # # random password generator # (for different values of 'random'.) # # Creates a password of specified length that # uses characters from several character classes. # # Copyright 2001, James Lee and Bri Hatch # # Released under the GPL. See COPYING file # for more information. use strict; my @chars = (33..91,93..126); my $num_chars = @chars; my $length; my $punct = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'; print "Enter number of characters in your password: "; chomp($length = <STDIN>); die "Length must be greater than 6!" if $length <= 5; while (1) { my $password = ''; foreach (1..$length) { $password .= chr($chars[int(rand($num_chars))]); } if ($password =~ /[a-z]/ and $password =~ /[A-Z]/ and $password =~ /[0-9]/ and $password =~ /[$punct]/) { print $password, "\n"; exit; } }
|