#!/usr/bin/perl use strict; use warnings; use utf8; use Digest::MD5 qw(md5_hex); my $file=shift(@ARGV); my $user=shift(@ARGV); my $pass=shift(@ARGV); usage("No dbfile!") unless($file); usage("No username or Password!") unless($user or $pass); my $salt=join('', map { chr(int(rand(127-32)+32)) }0..4); $salt=~s/;/ /; die(qq(no ";" in username\n)) if($user=~/;/); die(qq(no "\\n" in username\n)) if($user=~/\n/); my $passwd=md5_hex("$salt$pass"); open( my $fh, '>>', $file) or die("Can't open $file - $!\n"); print $fh "$user;$salt;$passwd\n"; close($fh); print qq(Added "" $user;$salt;$passwd "" to $file\n); sub usage { my $message=shift; warn("$message\n") if($message); die(<