windows-nt/Source/XPSP1/NT/net/sfm/uam/uam5src/uamsrc/usrpwst3.h

1 line
1.7 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*****************************************************************/ /** Microsoft Windows **/ /** Copyright (C) Microsoft Corp., 1991-1995 **/ /*****************************************************************/ #pragma once #include "ntlmsspi.h" #include "crypto.h" #include "descrypt.h" #include "rc4.h" #define __RPC_FAR // // From ntsam.h // #define SAM_MAX_PASSWORD_LENGTH 256 #define ERROR_SUCCESS 0 #define ERROR_INVALID_FUNCTION -1070 #define ntoh(a) ((((a) << 24) & 0xFF000000) | (((a) << 8) & 0x00FF0000) | (((a) >> 8) & 0x0000FF00) | (((a) >> 24) & 0x000000FF)) // // From sampass.h // typedef struct _SAMPR_USER_PASSWORD { WCHAR Buffer[256]; DWORD Length; }SAMPR_USER_PASSWORD; typedef struct _SAMPR_USER_PASSWORD __RPC_FAR *PSAMPR_USER_PASSWORD; typedef struct _SAMPR_ENCRYPTED_USER_PASSWORD { UCHAR Buffer[516]; }SAMPR_ENCRYPTED_USER_PASSWORD; typedef struct _SAMPR_ENCRYPTED_USER_PASSWORD __RPC_FAR *PSAMPR_ENCRYPTED_USER_PASSWORD; bool EncryptStdBlock( IN PBLOCK_KEY BlockKey, OUT PCYPHER_BLOCK CypherBlock ); bool CalculateLmOwfPassword( IN PLM_PASSWORD LmPassword, OUT PLM_OWF_PASSWORD LmOwfPassword ); bool EncryptBlock( IN PCLEAR_BLOCK ClearBlock, IN PBLOCK_KEY BlockKey, OUT PCYPHER_BLOCK CypherBlock ); bool EncryptLmOwfPwdWithLmOwfPwd( IN PLM_OWF_PASSWORD DataLmOwfPassword, IN PLM_OWF_PASSWORD KeyLmOwfPassword, OUT PENCRYPTED_LM_OWF_PASSWORD EncryptedLmOwfPassword ); DWORD SampEncryptLmPasswords( LPSTR OldUpcasePassword, LPSTR NewUpcasePassword, LPSTR NewPassword, PSAMPR_ENCRYPTED_USER_PASSWORD NewEncryptedWithOldLm, PENCRYPTED_NT_OWF_PASSWORD OldLmOwfEncryptedWithNewLm );