Función CryptBinaryToStringA (wincrypt.h)

La función CryptBinaryToString convierte una matriz de bytes en una cadena con formato.

Sintaxis

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

Parámetros

[in] pbBinary

Puntero a la matriz de bytes que se va a convertir en una cadena.

[in] cbBinary

Número de elementos de la matriz pbBinary .

[in] dwFlags

Especifica el formato de la cadena con formato resultante. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, con encabezados iniciales y finales del certificado.
CRYPT_STRING_BASE64
0x00000001
Base64, sin encabezados.
CRYPT_STRING_BINARY
0x00000002
Copia binaria pura.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64, con encabezados iniciales y finales de solicitud.
CRYPT_STRING_HEX
0x00000004
Solo hexadecimal.
CRYPT_STRING_HEXASCII
0x00000005
Hexadecimal, con pantalla de caracteres ASCII.
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64, con encabezados iniciales y finales X.509 CRL.
CRYPT_STRING_HEXADDR
0x0000000a
Hexadecimal, con visualización de direcciones.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Hexadecimal, con caracteres ASCII y visualización de direcciones.
CRYPT_STRING_HEXRAW
0x0000000c
Cadena hexadecimal sin formato.

Windows Server 2003 y Windows XP: Este valor no se admite.

CRYPT_STRING_BASE64URI
0x0000000d
Base64, sin encabezados, con "+" reemplazado por "-" y "/" reemplazado por "_", tal y como se define en la sección 5 de RFC 4648.
CRYPT_STRING_STRICT
0x20000000
Aplicar la descodificación estricta de formatos de texto ASN.1. Algunos BLOBS binarios ASN.1 pueden tener los primeros bytes del BLOB interpretados incorrectamente como texto base64. En este caso, se omite el resto del texto. Use esta marca para aplicar la descodificación completa del BLOB.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite.

 

Además de los valores anteriores, se puede especificar uno o varios de los valores siguientes para modificar el comportamiento de la función.

Valor Significado
CRYPT_STRING_NOCRLF
0x40000000
No anexe caracteres de línea nuevos a la cadena codificada. El comportamiento predeterminado es usar un par de retorno de carro/avance de línea (CR/LF) (0x0D/0x0A) para representar una nueva línea.

Windows Server 2003 y Windows XP: Este valor no se admite.

CRYPT_STRING_NOCR
0x80000000
Use solo el carácter de avance de línea (LF) (0x0A) para una nueva línea. El comportamiento predeterminado es usar un par CR/LF (0x0D/0x0A) para representar una nueva línea.

[out, optional] pszString

Puntero a un búfer que recibe la cadena convertida. Para calcular el número de caracteres que se deben asignar para contener la cadena devuelta, establezca este parámetro en NULL. La función colocará el número necesario de caracteres, incluido el carácter NULL de terminación, en el valor al que apunta pcchString.

[in, out] pcchString

Puntero a una variable DWORD que contiene el tamaño, en TCHARs, del búfer pszString . Si pszString es NULL, la función calcula la longitud de la cadena de retorno (incluido el carácter nulo de terminación) en TCHARs y la devuelve en este parámetro. Si pszString no es NULL y lo suficientemente grande, la función convierte los datos binarios en un formato de cadena especificado, incluido el carácter nulo de terminación, pero pcchString recibe la longitud en TCHARs, no incluido el carácter nulo de terminación.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).

Si se produce un error en la función, devuelve cero (FALSE).

Comentarios

A excepción de cuando se usa CRYPT_STRING_BINARY codificación, todas las cadenas se anexan con una nueva secuencia de líneas. De forma predeterminada, la nueva secuencia de líneas es un par CR/LF (0x0D/0x0A). Si el parámetro dwFlags contiene la marca CRYPT_STRING_NOCR , la nueva secuencia de líneas es un carácter LF (0x0A). Si el parámetro dwFlags contiene la marca CRYPT_STRING_NOCRLF , no se anexa ninguna secuencia de línea nueva a la cadena.

Nota

El encabezado wincrypt.h define CryptBinaryToString como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptStringToBinary