Partager via


Fonction CryptBinaryToStringA (wincrypt.h)

La fonction CryptBinaryToString convertit un tableau d’octets en chaîne mise en forme.

Syntaxe

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

Paramètres

[in] pbBinary

Pointeur vers le tableau d’octets à convertir en chaîne.

[in] cbBinary

Nombre d’éléments dans le tableau pbBinary .

[in] dwFlags

Spécifie le format de la chaîne mise en forme résultante. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, avec les en-têtes de début et de fin de certificat.
CRYPT_STRING_BASE64
0x00000001
Base64, sans en-têtes.
CRYPT_STRING_BINARY
0x00000002
Copie binaire pure.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64, avec les en-têtes de début et de fin de requête.
CRYPT_STRING_HEX
0x00000004
Hexadécimal uniquement.
CRYPT_STRING_HEXASCII
0x00000005
Hexadécimal, avec affichage de caractères ASCII .
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64, avec les en-têtes de début et de fin de liste de révocation de certificats X.509 .
CRYPT_STRING_HEXADDR
0x0000000a
Hexadécimal, avec affichage d’adresse.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Hexadécimal, avec affichage de caractères ASCII et d’adresses.
CRYPT_STRING_HEXRAW
0x0000000c
Chaîne hexadécimale brute.

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

CRYPT_STRING_BASE64URI
0x0000000d
Base64, sans en-têtes, avec « + » remplacé par « - » et « / » remplacé par « _ », comme défini dans la section 5 de la RFC 4648.
CRYPT_STRING_STRICT
0x20000000
Appliquez un décodage strict des formats de texte ASN.1. Certains OBJETS BLOB binaires ASN.1 peuvent avoir les premiers octets de l’objet BLOB interprétés de manière incorrecte comme du texte en Base64. Dans ce cas, le reste du texte est ignoré. Utilisez cet indicateur pour appliquer le décodage complet de l’objet BLOB.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

 

En plus des valeurs ci-dessus, une ou plusieurs des valeurs suivantes peuvent être spécifiées pour modifier le comportement de la fonction.

Valeur Signification
CRYPT_STRING_NOCRLF
0x40000000
N’ajoutez pas de nouveaux caractères de ligne à la chaîne encodée. Le comportement par défaut consiste à utiliser une paire retour chariot/flux de ligne (CR/LF) (0x0D/0x0A) pour représenter une nouvelle ligne.

Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge.

CRYPT_STRING_NOCR
0x80000000
Utilisez uniquement le caractère de flux de ligne (LF) (0x0A) pour une nouvelle ligne. Le comportement par défaut consiste à utiliser une paire CR/LF (0x0D/0x0A) pour représenter une nouvelle ligne.

[out, optional] pszString

Pointeur vers une mémoire tampon qui reçoit la chaîne convertie. Pour calculer le nombre de caractères qui doivent être alloués pour contenir la chaîne retournée, définissez ce paramètre sur NULL. La fonction place le nombre requis de caractères, y compris le caractère NULL de fin, dans la valeur pointée par pcchString.

[in, out] pcchString

Pointeur vers une variable DWORD qui contient la taille, en TCHARs, de la mémoire tampon pszString . Si pszString a la valeur NULL, la fonction calcule la longueur de la chaîne de retour (y compris le caractère null de fin) dans TCHARs et la retourne dans ce paramètre. Si pszString n’a pas la valeur NULL et est suffisamment volumineuse, la fonction convertit les données binaires dans un format de chaîne spécifié, y compris le caractère null de fin, mais pcchString reçoit la longueur dans TCHARs, sans inclure le caractère null de fin.

Valeur retournée

Si la fonction réussit, la fonction retourne une valeur différente de zéro (TRUE).

Si la fonction échoue, elle retourne zéro (FALSE).

Remarques

À l’exception de lorsque CRYPT_STRING_BINARY encodage est utilisé, toutes les chaînes sont ajoutées avec une nouvelle séquence de lignes. Par défaut, la nouvelle séquence de lignes est une paire CR/LF (0x0D/0x0A). Si le paramètre dwFlags contient l’indicateur CRYPT_STRING_NOCR , la nouvelle séquence de lignes est un caractère LF (0x0A). Si le paramètre dwFlags contient l’indicateur CRYPT_STRING_NOCRLF , aucune nouvelle séquence de ligne n’est ajoutée à la chaîne.

Notes

L’en-tête wincrypt.h définit CryptBinaryToString comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptStringToBinary