LMハッシュ
LMハッシュの計算方法は次のようになっている。
パスワードは最長14文字に規制される。
パスワードの小文字を大文字に変換する。
パスワードをOEMコードページとして解釈する。
14バイトに足りない分をヌル文字でパディングする。
14バイトの長さになったパスワードを前後7バイトずつに分ける。
それぞれの片割れ(7バイト = 56ビット)をDESの鍵として使えるように、7ビットごとに区切り、区切った1つ1つの最上位に0のビットを1ビット追加して(例えば、1010100を01010100とする)64ビットの長さに変換する。なお、DESの実質の鍵長は56ビットであるが、パリティビットである8ビットを加えた64ビットの形でやりとりされる。この過程で挿入したビットは、そのパリティビットの位置に当たり、DESの計算には使われない。
生成した鍵でASCII文字列の「KGS!@#$%」を暗号化する。DESの暗号利用モードはECBモードとし、パディングモードはNONEとする。
こうして得られた2つの暗号文字列をつなげた16バイトの値がLMハッシュとなる。