#!/usr/bin/perl use strict; use warnings; use DBI; use CGI::Simple; use Crypt::Argon2 qw/argon2id_pass argon2id_verify/; sub user_crypt;sub createUser; sub user_crypt { my ($cryUser , $cryPass)=@_; my $salt = rand(16); my $encode = argon2id_pass($cryPass,$salt,3,'32M',1,16); createUser($cryUser,$encode); } sub createUser{ my ($user , $hashPass)=@_; my $statement="INSERT INTO LOGIN_DATA(USER_NAME,USER_HASH) VALUES(?,?)"; my $driver="mysql"; my $database="USERS"; my $dsn="DBI:$driver:database=$database"; my $databaseUser="root"; my $databasePass=""; my $dbcon= DBI->connect($dsn,$databaseUser,$databasePass) or die $!; my $preState = $dbcon->prepare($statement) ; $preState->execute($user , $hashPass) or die $!; } my $username=CGI::Simple->new; my $pass=CGI::Simple->new; $username->param('textfield'); $pass->param('pass'); user_crypt($username,$pass); print "Content-type: text/html\n\n"; print "\n"; print "

Random heading

\n"; print "$username , $pass"; print "\n";