
This makes such hashes crackable in a matter of seconds using rainbow tables, or in a few minutes using brute force. Although it is based on DES, a well-studied block cipher, the LM hash has several weaknesses in its design.
#Ntlm hash calculator password#
LAN Manager authentication uses a particularly weak method of hashing a user's password known as the LM hash algorithm, stemming from the mid 1980s when viruses transmitted by floppy disks were the major concern.
#Ntlm hash calculator 64 bits#
(A DES key ostensibly consists of 64 bits however, only 56 of these are actually used by the algorithm. This generates the 64 bits needed for a DES key.

#Ntlm hash calculator code#

A version of LAN Manager for Unix-based systems called LAN Manager/X was also available.

These legacy protocols had been inherited from previous products such as MS-Net for MS-DOS, Xenix-NET for MS-Xenix, and the afore-mentioned 3+Share. It originally used SMB atop either the NetBIOS Frames (NBF) protocol or a specialized version of the Xerox Network Systems (XNS) protocol. As I didn't needed it, I just left it as is, but any pull requests would be welcome.The LAN Manager OS/2 operating system was co-developed by IBM and Microsoft, using the Server Message Block (SMB) protocol. Which means NTLM is already predefined at this stage. It really seems that when the system is going through the SSPI route it doesn't care about what is the "type" it uses.Īnyway, as I wrote in the commit messages, to allow other SSPI handles (called "security support providers" and which you can get through EnumerateSecurityPackages WinAPI function as per msdn) - I need to change the way how the header name is generated, because I just went a kind of "easy way", just patching inside the ntlm_request/ntlm_response functions. Originally I created the SSPI version to pierce through my corporate firewall too, it was using Negotiate but worked with NTLM just fine too (Negotiate was actually used by the browser as the research showed). Actually for me it seemed that the NTLM hash using SSPI was not exactly an NTLM hash at all, they just probably called it the same for backwards compability or stuff like that.
