Função CreateMD5SSOHash (winineti.h)
A função CreateMD5SSOHash obtém a senha padrão do Microsoft Passport para uma conta ou realm especificado, cria um hash MD5 usando uma cadeia de caracteres largos especificada e retorna o resultado como uma cadeia de caracteres de bytes de dígito hexadecimal.
Sintaxe
BOOL CreateMD5SSOHash(
[in] PWSTR pszChallengeInfo,
[in] PWSTR pwszRealm,
[in] PWSTR pwszTarget,
[out] PBYTE pbHexHash
);
Parâmetros
[in] pszChallengeInfo
Ponteiro para a cadeia de caracteres largos de desafio a ser usada para o hash MD5.
[in] pwszRealm
Ponteiro para uma cadeia de caracteres que nomeia um realm para o qual obter a senha. Esse parâmetro é ignorado, a menos que pwszTarget seja NULL. Se pwszTarget e pwszRealm forem NULL, o realm padrão será usado.
[in] pwszTarget
Ponteiro para uma cadeia de caracteres que nomeia uma conta para a qual obter a senha. Se pwszTarget for NULL, o realm indicado por pwszRealm será usado.
[out] pbHexHash
Ponteiro para um buffer de saída no qual o hash MD5 é retornado no formato de cadeia de caracteres hexadecimal. Esse buffer deve ter pelo menos 33 bytes de comprimento.
Retornar valor
Retornará TRUE se tiver êxito ou FALSE caso contrário.
Comentários
Depois que a função CreateMD5SSOHash obtém com êxito a senha do Microsoft Passport para a conta ou realm especificada, ela converte a cadeia de caracteres de desafio e a senha de caracteres largos em caracteres de vários bytes (geralmente de 8 bits), concatena-os e usa a biblioteca RSA para gerar um hash MD5 da chave resultante. Em seguida, ele converte o hash em uma cadeia de caracteres terminada em nulo de dígitos hexadecimal de 8 bits (usando letras minúsculas) que ele coloca no buffer apontado pelo parâmetro pbHexHash .
O buffer de saída apontado por pbHexHash deve, portanto, ser longo o suficiente para aceitar dois bytes para cada um dos 16 bytes do hash, além de um caractere nulo de terminação, para um total de 33 bytes.
Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de DllMain ou dos construtores e destruidores de objetos globais.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winineti.h (inclua Wininet.h) |
Biblioteca | Wininet.lib |
DLL | Wininet.dll |