Vous êtes sur la page 1sur 1

#!

/usr/bin/perl
#Franc
use strict;
use Term::ANSIColor qw/:constants/;
use Digest::MD5 qw/md5_hex/;
my ($u_md5,$p_md5);
print "Register? (Y/n) "; chomp(my $register = <STDIN>);
if($register eq 'Y') { register(); }
elsif ($register eq 'n') { signin(); }
else { print BOLD, RED "Wrong input.\n", RESET; }
sub register {
open REGISTER, '>>accounts.txt';
print "Registering\n\n";
print "Username: "; chomp(my $u = <STDIN>);
print "Password: "; chomp(my $p = <STDIN>);
$u_md5 = md5_hex($u);
$p_md5 = md5_hex($p);
print REGISTER "$u_md5\:$p_md5\n";
print "Wrote info to accounts.txt.\n";
}
sub signin {
my ($username,$password);
open SIGNIN, "accounts.txt";
print "Logging In\n\n";
print "Username: "; chomp(my $u = <STDIN>);
print "Password: "; chomp(my $p = <STDIN>);
$username = md5_hex($u);
$password = md5_hex($p);

while(<SIGNIN>) {
if($_ =~ /(\w+)\:(\w+)/) {
if(($username eq $1) && ($password eq $2)) {
print BOLD, BLUE "Username and password matched.", RESET
. "\n";
exit;
}
}
}
print BOLD, RED "Username and password did not match.", RESET . "\n";;
}

Vous aimerez peut-être aussi