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 ser convertida em uma cadeia de caracteres.

[in] cbBinary

O número de elementos na matriz pbBinary .

[in] dwFlags

Especifica o formato da cadeia de caracteres formatada resultante. Esse parâmetro pode usar 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 cabeçalhos de início e término da CRL X.509 .
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: Não há suporte para esse valor.

CRYPT_STRING_BASE64URI
0x0000000d
Base64, sem cabeçalhos, com "+" substituído por "-" e "/" substituídos por "_", conforme definido na Seção 5 do RFC 4648.
CRYPT_STRING_STRICT
0x20000000
Impor a decodificação estrita de formatos de texto ASN.1. Alguns BLOBS binários do 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: Não há suporte para esse valor.

CRYPT_STRING_NOCR
0x80000000
Use apenas o caractere de alimentação de linha (LF) (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 o caractere NULL de terminação, no valor apontado por pcchString.

[in, out] pcchString

Um ponteiro para uma variável DWORD que contém o tamanho, em TCHARs, 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 TCHARs 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 TCHARs, sem incluir o caractere nulo de terminação.

Retornar valor

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

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

Comentários

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 linha será acrescentada à cadeia de caracteres.

Observação

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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

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

Confira também

CryptStringToBinary