Partager via


CryptBinaryToStringW, fonction (wincrypt.h)

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

Syntaxe

BOOL CryptBinaryToStringW(
  [in]            const BYTE *pbBinary,
  [in]            DWORD      cbBinary,
  [in]            DWORD      dwFlags,
  [out, optional] LPWSTR     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 être l’une des valeurs suivantes.

Valeur Signification
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, avec des 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 X.509 listes de révocation de certificats de début et de fin.
CRYPT_STRING_HEXADDR
0x0000000a
Hexadécimal, avec affichage d’adresse.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Hexadécimal, avec caractère ASCII et affichage d’adresse.
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 4648 de la RFC 4648.
CRYPT_STRING_STRICT
0x20000000
Appliquez le décodage strict des formats de texte ASN.1. Certains objets BLOB binaires ASN.1 peuvent avoir les premiers octets de l’objet BLOB mal interprétés comme du texte 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.

 

Outre les 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 aucun nouveau caractère 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 la fin caractère NULL, dans la valeur pointée par pcchString.

[in, out] pcchString

Pointeur vers une variable DWORD qui contient la taille, dans TCHAR, de la mémoire tampon pszString . Si pszString est NULL, la fonction calcule la longueur de la chaîne de retour (y compris le caractère null de fin) dans TCHAR et la retourne dans ce paramètre. Si pszString n’est pas NULL et suffisamment volumineux, 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 de retour

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 du moment où l’encodage CRYPT_STRING_BINARY 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 lignes n’est ajoutée à la chaîne.

Note

L’en-tête wincrypt.h définit CryptBinaryToString en tant qu’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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau | Applications UWP]
serveur minimum pris en charge Windows Server 2003 [applications de bureau | Applications UWP]
plateforme cible Windows
d’en-tête wincrypt.h
bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CryptStringToBinary