mò ¶tÊ=c@sCdkZdkZdkZdkZd„Zd„Zd„ZdS(NcCsšd}ti|dd!ƒ}||i|dd!ƒ}ti|dd!ƒ}||i|dd!ƒ}ti|dd!ƒ}||i|dd!ƒ}|S(skeys_str - hashed passwordtiiiiiN(trestdestDEStkeys_strtdobjtencryptt plain_text(RRRR((tntlm\ntlm_procs.pyt calc_respscCsèdd}ti|ƒ}t|ƒdjo||t|ƒd}n|dd!}dddddd d d g}ti|ƒ}d }t i |dd !ƒ}||i |ƒ}t i |d d!ƒ}||i |ƒ}|d}|S(ssetup LanManager passwordtiiiKiGiSi!i@i#i$i%RitN(tlm_pwtstringtuppertpasswdtlent magic_lstt ntlmutilstlst2strt magic_strRRRRR(RR RRRR((Rtcreate_LM_hashed_password,s    cCsBti|ƒ}tiƒ}|i|ƒ|iƒ}|d}|S(screate NT hashed passwordR N( Rt str2unicodeRtpwtmd4tnewt md4_contexttupdatetdigestR(RRRR((Rtcreate_NT_hashed_passwordIs    (R RRRR RR(RR RRRR R((Rt?s