Condividi tramite


Funzione CryptBinaryToStringA (wincrypt.h)

La funzione CryptBinaryToString converte una matrice di byte in una stringa formattata.

Sintassi

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

Parametri

[in] pbBinary

Puntatore alla matrice di byte da convertire in una stringa.

[in] cbBinary

Numero di elementi nella matrice pbBinary .

[in] dwFlags

Specifica il formato della stringa formattata risultante. Questo parametro può essere uno dei valori seguenti.

Valore Significato
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, con intestazioni iniziali e finali del certificato.
CRYPT_STRING_BASE64
0x00000001
Base64, senza intestazioni.
CRYPT_STRING_BINARY
0x00000002
Copia binaria pura.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64, con intestazioni iniziali e finali della richiesta.
CRYPT_STRING_HEX
0x00000004
Solo esadecimale.
CRYPT_STRING_HEXASCII
0x00000005
Esadecimale, con visualizzazione di caratteri ASCII.
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64, con X.509 intestazioni CRL iniziali e finali.
CRYPT_STRING_HEXADDR
0x0000000a
Esadecimale, con visualizzazione dell'indirizzo.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Esadecimale, con caratteri ASCII e visualizzazione dell'indirizzo.
CRYPT_STRING_HEXRAW
0x0000000c
Stringa esadecimale non elaborata.

Windows Server 2003 e Windows XP: Questo valore non è supportato.

CRYPT_STRING_BASE64URI
0x0000000d
Base64, senza intestazioni, con "+" sostituito da "-" e "/" sostituito da "_" come definito nella sezione 4648 RFC 5.
CRYPT_STRING_STRICT
0x20000000
Applicare una rigorosa decodifica dei formati di testo ASN.1. Alcuni BLOB binari ASN.1 possono avere i primi byte del BLOB interpretati erroneamente come testo Base64. In questo caso, il resto del testo viene ignorato. Usare questo flag per applicare la decodifica completa del BLOB.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.

 

Oltre ai valori precedenti, è possibile specificare uno o più dei valori seguenti per modificare il comportamento della funzione.

Valore Significato
CRYPT_STRING_NOCRLF
0x40000000
Non aggiungere caratteri di nuova riga alla stringa codificata. Il comportamento predefinito consiste nell'usare una coppia di ritorno a capo/avanzamento riga (CR/LF) (0x0D/0x0A) per rappresentare una nuova riga.

Windows Server 2003 e Windows XP: Questo valore non è supportato.

CRYPT_STRING_NOCR
0x80000000
Usare solo il carattere LF (Line Feed) (0x0A) per una nuova riga. Il comportamento predefinito consiste nell'usare una coppia CR/LF (0x0D/0x0A) per rappresentare una nuova riga.

[out, optional] pszString

Puntatore a un buffer che riceve la stringa convertita. Per calcolare il numero di caratteri da allocare per contenere la stringa restituita, impostare questo parametro su NULL. La funzione inserisce il numero di caratteri richiesto, incluso il carattere di terminazione NULL, nel valore a cui punta pcchString.

[in, out] pcchString

Puntatore a una variabile DWORD contenente le dimensioni, in TCHARs, del buffer pszString . Se pszString è NULL, la funzione calcola la lunghezza della stringa restituita (incluso il carattere Null di terminazione) in TCHARs e la restituisce in questo parametro. Se pszString non è NULL e sufficientemente grande, la funzione converte i dati binari in un formato stringa specificato, incluso il carattere Null di terminazione, ma pcchString riceve la lunghezza in TCHARs, senza includere il carattere Null finale.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).

Se la funzione ha esito negativo, restituisce zero (FALSE).

Osservazioni

Ad eccezione di quando viene usata CRYPT_STRING_BINARY codifica, tutte le stringhe vengono aggiunte con una nuova sequenza di righe. Per impostazione predefinita, la nuova sequenza di righe è una coppia CR/LF (0x0D/0x0A). Se il parametro dwFlags contiene il flag CRYPT_STRING_NOCR, la nuova sequenza di righe è un carattere LF (0x0A). Se il parametro dwFlags contiene il flag CRYPT_STRING_NOCRLF, alla stringa non viene aggiunta alcuna nuova sequenza di righe.

Nota

L'intestazione wincrypt.h definisce CryptBinaryToString come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [app desktop | App UWP]
server minimo supportato Windows Server 2003 [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione wincrypt.h
libreria Crypt32.lib
dll Crypt32.dll

Vedere anche

CryptStringToBinary