Crypt-SmbHash
view release on metacpan or search on metacpan
# nthash PASSWORD
# Generates nt md4 password hash for a given password, returns the hash
#
# Extracted and ported from SAMBA/source/libsmb/smbencrypt.c:nt_lm_owf_gen
sub nthash($) {
my ( $pass ) = @_;
my ( $hex );
my ( $digest );
$pass = substr(defined($pass)?$pass:"",0,128);
if (!$HaveUnicode) {
# No unicode support: do a really broken to ucs2 convert
$pass =~ s/(.)/$1\000/sg;
}
else {
$pass = encode('ucs2', $pass);
$pass = pack("v*", unpack("n*",$pass));
}
$hex = "";
if ( $HaveDigestMD4 ) {
eval {
$digest = new Digest::MD4;
( run in 0.358 second using v1.01-cache-2.11-cpan-88abd93f124 )