Внутри Samba хранит те же хеши LM и NT, что и Windows, и которые используются для аутентификации NTLM.
Хеш NT использует алгоритм MD4, применяемый к паролю в кодировке UTF-16 Little Endian. Вы можете использовать обычные инструменты для его расчета, например:
#!/usr/bin/env perl
use Digest::MD4 qw(md4_hex);
use Encode qw(encode);
chomp(my $pw = <STDIN>);
print md4_hex(encode("UTF-16LE", $pw)), "\n";
или OpenSSL:
printf '%s' "$pw" | iconv -t utf16le | openssl md4
Хеш LM можно взломать за считанные секунды. Никто не использует это больше. Не используйте это. Современные версии Windows, а также (надеюсь) Samba, хранят хэш LM только «пустого» пароля, независимо от ввода.
Тем не менее, включать хэши как часть ваших скриптов - очень плохая идея, не намного лучше, чем хранить сами пароли. Несоленый хеш MD4 очень легко взломать, если кто-то хочет получить исходный пароль, и даже без этого хеш-код эквивалентен паролю - любой, у кого есть хеш, может выполнить аутентификацию NTLM без необходимости использования самого пароля. (Windows не позволяет никому, даже администраторам, напрямую обращаться к SAM, поэтому изначально считалось, что соль не нужна).