Compartilhar via


Função CryptBinaryToStringA (wincrypt.h)

A função CryptBinaryToString converte uma matriz de bytes em uma cadeia de caracteres formatada.

Sintaxe

BOOL CryptBinaryToStringA(
  [in]            const BYTE *pbBinary,
  [in]            DWORD      cbBinary,
  [in]            DWORD      dwFlags,
  [out, optional] LPSTR      pszString,
  [in, out]       DWORD      *pcchString
);

Parâmetros

[in] pbBinary

Um ponteiro para a matriz de bytes a serem convertidos em uma cadeia de caracteres.

[in] cbBinary

O número de elementos na matriz de pbBinary .

[in] dwFlags

Especifica o formato da cadeia de caracteres formatada resultante. Esse parâmetro pode ser um dos valores a seguir.

Valor Significado
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, com cabeçalhos de início e término do certificado.
CRYPT_STRING_BASE64
0x00000001
Base64, sem cabeçalhos.
CRYPT_STRING_BINARY
0x00000002
Cópia binária pura.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64, com cabeçalhos de início e término da solicitação.
CRYPT_STRING_HEX
0x00000004
Somente Hexadecimal.
CRYPT_STRING_HEXASCII
0x00000005
Hexadecimal, com exibição de caractere ASCII.
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64, com X.509 cabeçalhos de início e término de CRL.
CRYPT_STRING_HEXADDR
0x0000000a
Hexadecimal, com exibição de endereço.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Hexadecimal, com caractere ASCII e exibição de endereço.
CRYPT_STRING_HEXRAW
0x0000000c
Uma cadeia de caracteres hexadecimal bruta.

Windows Server 2003 e Windows XP: Esse valor não tem suporte.

CRYPT_STRING_BASE64URI
0x0000000d
Base64, sem cabeçalhos, com "+" substituído por "-" e "/" substituído por "_" conforme definido na Seção 5 do RFC 4648.
CRYPT_STRING_STRICT
0x20000000
Imponha a decodificação estrita de formatos de texto ASN.1. Alguns BLOBS binários ASN.1 podem ter os primeiros bytes do BLOB interpretados incorretamente como texto Base64. Nesse caso, o restante do texto é ignorado. Use esse sinalizador para impor a decodificação completa do BLOB.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.

 

Além dos valores acima, um ou mais dos valores a seguir podem ser especificados para modificar o comportamento da função.

Valor Significado
CRYPT_STRING_NOCRLF
0x40000000
Não acrescente novos caracteres de linha à cadeia de caracteres codificada. O comportamento padrão é usar um par cr/LF (retorno de carro/alimentação de linha) (0x0D/0x0A) para representar uma nova linha.

Windows Server 2003 e Windows XP: Esse valor não tem suporte.

CRYPT_STRING_NOCR
0x80000000
Use apenas o caractere LF (feed de linha) (0x0A) para uma nova linha. O comportamento padrão é usar um par CR/LF (0x0D/0x0A) para representar uma nova linha.

[out, optional] pszString

Um ponteiro para um buffer que recebe a cadeia de caracteres convertida. Para calcular o número de caracteres que devem ser alocados para manter a cadeia de caracteres retornada, defina esse parâmetro como NULL. A função colocará o número necessário de caracteres, incluindo a terminação caractere nulo, no valor apontado por pcchString.

[in, out] pcchString

Um ponteiro para uma variável DWORD que contém o tamanho, em TCHAR, do buffer pszString . Se pszString for NULL, a função calculará o comprimento da cadeia de caracteres de retorno (incluindo o caractere nulo de terminação) em TCHAR e a retornará nesse parâmetro. Se pszString não for NULL e grande o suficiente, a função converterá os dados binários em um formato de cadeia de caracteres especificado, incluindo o caractere nulo de terminação, mas pcchString receberá o comprimento em TCHAR, sem incluir o caractere nulo de terminação.

Valor de retorno

Se a função for bem-sucedida, a função retornará diferente de zero (TRUE).

Se a função falhar, ela retornará zero (false).

Observações

Com exceção de quando CRYPT_STRING_BINARY codificação é usada, todas as cadeias de caracteres são acrescentadas com uma nova sequência de linhas. Por padrão, a nova sequência de linhas é um par CR/LF (0x0D/0x0A). Se o parâmetro dwFlags contiver o sinalizador CRYPT_STRING_NOCR, a nova sequência de linhas será um caractere LF (0x0A). Se o parâmetro dwFlags contiver o sinalizador CRYPT_STRING_NOCRLF, nenhuma nova sequência de linhas será acrescentada à cadeia de caracteres.

Nota

O cabeçalho wincrypt.h define CryptBinaryToString como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho wincrypt.h
biblioteca Crypt32.lib
de DLL Crypt32.dll

Consulte também

CryptStringToBinary