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 einen der folgenden Werte annehmen.
Wert | Bedeutung |
---|---|
|
Base64 mit Zertifikatkopfzeilen am Anfang und Ende. |
|
Base64, ohne Header. |
|
Reine binäre Kopie. |
|
Base64 mit Anfangs- und Endheadern der Anforderung. |
|
Nur hexadezimal. |
|
Hexadezimal, mit ASCII-Zeichenanzeige . |
|
Base64, mit X.509-CRL-Anfangs - und Endheadern. |
|
Hexadezimal, mit Adressanzeige. |
|
Hexadezimal, mit ASCII-Zeichen und Adressanzeige. |
|
Eine unformatierte hexadezimale Zeichenfolge.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt. |
|
Base64 ohne Header, wobei "+" durch "-" und "/" ersetzt wird durch "_", wie in RFC 4648 Abschnitt 5 definiert. |
|
Erzwingen Sie eine strikte Decodierung von ASN.1-Textformaten. Bei einigen ASN.1-Binärblobs können die ersten Bytes des BLOB fälschlicherweise als Base64-Text interpretiert werden. 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 oben genannten Werten können mindestens einer der folgenden Werte angegeben werden, um das Verhalten der Funktion zu ändern.
[out, optional] pszString
Ein Zeiger auf einen Puffer, der die konvertierte Zeichenfolge empfängt. Um die Anzahl der Zeichen zu berechnen, die für die zurückgegebene Zeichenfolge zugewiesen werden müssen, legen Sie diesen Parameter auf NULL fest. Die Funktion platziert die erforderliche Anzahl von Zeichen, einschließlich des beendenden NULL-Zeichens , im Wert, auf den von pcchString verwiesen wird.
[in, out] pcchString
Ein Zeiger auf eine DWORD-Variable, die die Größe des pszString-Puffers in TCHARs enthält. Wenn pszStringNULL ist, berechnet die Funktion die Länge der Rückgabezeichenfolge (einschließlich des beendenden NULL-Zeichens) in TCHARs 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 beendenden NULL-Zeichens, aber pcchString empfängt die Länge in TCHARs, ohne das beendende NULL-Zeichen.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion nonzero (TRUE) zurück.
Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück.
Hinweise
Mit Ausnahme der CRYPT_STRING_BINARY-Codierung werden alle Zeichenfolgen mit einer neuen Zeilensequenz angefügt. Standardmäßig ist die neue Zeilensequenz ein CR/LF-Paar (0x0D/0x0A). Wenn der dwFlags-Parameter das flag CRYPT_STRING_NOCR enthält, ist die neue Zeilensequenz ein LF-Zeichen (0x0A). Wenn der dwFlags-Parameter das flag CRYPT_STRING_NOCRLF enthält, wird keine neue Zeilensequenz an die Zeichenfolge angefügt.
Hinweis
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 nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |