#!/usr/bin/perl use strict; use warnings; use 5.024; use Crypt::Digest::SHA256; # Linux: # root ~ # mkpasswd --salt SalzIstToll -m sha256crypt test # $5$SalzIstToll$c.6VqJ9PYU2EAQvvN4vE..DpKUQPnQm.NeLCF6ujT29 # # Windows: # T:\>openssl passwd -5 -salt SalzIstToll test # $5$SalzIstToll$c.6VqJ9PYU2EAQvvN4vE..DpKUQPnQm.NeLCF6ujT29 # my $salt = "SalzIstToll"; my $data = "test"; my $digest = Crypt::Digest::SHA256->new; $digest->add($data); $digest->add($salt); say '$5$', $salt, '$', $digest->b64udigest;