Freigeben über


CryptBinaryToStringA-Funktion (wincrypt.h)

Die CryptBinaryToString--Funktion konvertiert ein Bytearray in eine formatierte Zeichenfolge.

Syntax

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

Parameter

[in] pbBinary

Ein Zeiger auf das Array von Bytes, die in eine Zeichenfolge konvertiert werden sollen.

[in] cbBinary

Die Anzahl der Elemente im pbBinary Array.

[in] dwFlags

Gibt das Format der resultierenden formatierten Zeichenfolge an. Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, mit Zertifikatanfangs- und Endheadern.
CRYPT_STRING_BASE64
0x00000001
Base64, ohne Kopfzeilen.
CRYPT_STRING_BINARY
0x00000002
Reine binäre Kopie.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64 mit Anforderungsanfangs- und Endheadern.
CRYPT_STRING_HEX
0x00000004
Nur hexadezimal.
CRYPT_STRING_HEXASCII
0x00000005
Hexadezimal, mit ASCII- Zeichenanzeige.
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64 mit X.509 CRL-Anfangs- und Endheader.
CRYPT_STRING_HEXADDR
0x0000000a
Hexadezimal, mit Adressanzeige.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Hexadezimal, mit ASCII-Zeichen und Adressanzeige.
CRYPT_STRING_HEXRAW
0x0000000c
Eine unformatierte hexadezimale Zeichenfolge.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRYPT_STRING_BASE64URI
0x0000000d
Base64 ohne Kopfzeilen, wobei "+" durch "-" und "/" ersetzt wird, wie in RFC 4648 Abschnitt 5 definiert.
CRYPT_STRING_STRICT
0x20000000
Erzwingen Sie die strikte Decodierung von ASN.1-Textformaten. Einige ASN.1-Binär-BLOBS können die ersten Bytes des BLOB falsch als Base64-Text interpretiert haben. In diesem Fall wird der Rest des Texts ignoriert. Verwenden Sie dieses Flag, um die vollständige Decodierung des BLOB zu erzwingen.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

 

Zusätzlich zu den obigen Werten kann mindestens ein der folgenden Werte angegeben werden, um das Verhalten der Funktion zu ändern.

Wert Bedeutung
CRYPT_STRING_NOCRLF
0x40000000
Fügen Sie keine neuen Zeilenzeichen an die codierte Zeichenfolge an. Das Standardverhalten besteht darin, ein Wagenrücklauf-/Zeilenvorschubpaar (CR/LF) (0x0D/0x0A) zu verwenden, um eine neue Linie darzustellen.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRYPT_STRING_NOCR
0x80000000
Verwenden Sie nur das Zeilenvorschubzeichen (LF) (0x0A) für eine neue Zeile. Das Standardverhalten besteht darin, ein CR/LF-Paar (0x0D/0x0A) zu verwenden, um eine neue Linie darzustellen.

[out, optional] pszString

Ein Zeiger auf einen Puffer, der die konvertierte Zeichenfolge empfängt. Um die Anzahl der Zeichen zu berechnen, die der zurückgegebenen Zeichenfolge zugeordnet werden müssen, legen Sie diesen Parameter auf NULL-fest. Die Funktion platziert die erforderliche Anzahl von Zeichen, einschließlich des endenden NULL- Zeichens, in dem Wert, auf den pcchStringverweist.

[in, out] pcchString

Ein Zeiger auf eine DWORD- Variable, die die Größe des pszString- Puffers in TCHAR-enthält. Wenn pszStringNULL-ist, berechnet die Funktion die Länge der Rückgabezeichenfolge (einschließlich des endenden Nullzeichens) in TCHAR-und gibt sie in diesem Parameter zurück. Wenn pszString- nicht NULL- und groß genug ist, konvertiert die Funktion die Binärdaten in ein angegebenes Zeichenfolgenformat, einschließlich des endenden Nullzeichens, aber pcchString erhält die Länge in TCHARs, nicht einschließlich des endenden Nullzeichens.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero (TRUE) zurück.

Wenn die Funktion fehlschlägt, wird null (FALSE) zurückgegeben.

Bemerkungen

Abgesehen davon, wann CRYPT_STRING_BINARY Codierung verwendet wird, werden alle Zeichenfolgen mit einer neuen Zeilensequenz angefügt. Standardmäßig ist die neue Linienfolge ein CR/LF-Paar (0x0D/0x0A). Wenn der dwFlags Parameter das CRYPT_STRING_NOCR Flag enthält, ist die neue Zeilensequenz ein LF-Zeichen (0x0A). Wenn der dwFlags Parameter das CRYPT_STRING_NOCRLF Flag enthält, wird an die Zeichenfolge keine neue Zeilenfolge angefügt.

Anmerkung

Der wincrypt.h-Header definiert CryptBinaryToString als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- wincrypt.h
Library Crypt32.lib
DLL- Crypt32.dll

Siehe auch

CryptStringToBinary