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.

Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

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

Confira também

Tratar a autenticação

Funções WinINet