Fungsi CryptBinaryToStringA (wincrypt.h)

Fungsi CryptBinaryToString mengonversi array byte menjadi string yang diformat.

Sintaksis

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

Parameter

[in] pbBinary

Penunjuk ke array byte yang akan dikonversi menjadi string.

[in] cbBinary

Jumlah elemen dalam array pbBinary .

[in] dwFlags

Menentukan format string yang diformat yang dihasilkan. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Arti
CRYPT_STRING_BASE64HEADER
0x00000000
Base64, dengan header awal dan akhir sertifikat.
CRYPT_STRING_BASE64
0x00000001
Base64, tanpa header.
CRYPT_STRING_BINARY
0x00000002
Salinan biner murni.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64, dengan header awal dan akhir permintaan.
CRYPT_STRING_HEX
0x00000004
Heksadesimal saja.
CRYPT_STRING_HEXASCII
0x00000005
Heksadesimal, dengan tampilan karakter ASCII.
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64, dengan X.509 header awal dan akhir CRL.
CRYPT_STRING_HEXADDR
0x0000000a
Heksadesimal, dengan tampilan alamat.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Heksadesimal, dengan karakter ASCII dan tampilan alamat.
CRYPT_STRING_HEXRAW
0x0000000c
String heksadesimal mentah.

Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

CRYPT_STRING_BASE64URI
0x0000000d
Base64, tanpa header, dengan "+" digantikan oleh "-" dan "/" digantikan oleh "_" seperti yang didefinisikan dalam RFC 4648 Bagian 5.
CRYPT_STRING_STRICT
0x20000000
Terapkan decoding ketat format teks ASN.1. Beberapa BLOB biner ASN.1 dapat memiliki beberapa byte pertama dari BLOB yang salah ditafsirkan sebagai teks Base64. Dalam hal ini, teks lainnya diabaikan. Gunakan bendera ini untuk memberlakukan decoding lengkap BLOB.

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

 

Selain nilai di atas, satu atau beberapa nilai berikut dapat ditentukan untuk mengubah perilaku fungsi.

Nilai Arti
CRYPT_STRING_NOCRLF
0x40000000
Jangan tambahkan karakter baris baru ke string yang dikodekan. Perilaku defaultnya adalah menggunakan pasangan return/line feed (CR/LF) (0x0D/0x0A) untuk mewakili baris baru.

Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

CRYPT_STRING_NOCR
0x80000000
Hanya gunakan karakter umpan baris (LF) (0x0A) untuk baris baru. Perilaku defaultnya adalah menggunakan pasangan CR/LF (0x0D/0x0A) untuk mewakili baris baru.

[out, optional] pszString

Penunjuk ke buffer yang menerima string yang dikonversi. Untuk menghitung jumlah karakter yang harus dialokasikan untuk menahan string yang dikembalikan, atur parameter ini ke NULL. Fungsi ini akan menempatkan jumlah karakter yang diperlukan, termasuk karakter NULL penghentian, dalam nilai yang ditunjukkan dengan pcchString.

[in, out] pcchString

Penunjuk ke variabel DWORD yang berisi ukuran, dalam TCHAR, dari pszString buffer. Jika pszString NULL, fungsi menghitung panjang string pengembalian (termasuk karakter null penghentian) dalamTCHAR dan mengembalikannya dalam parameter ini. Jika pszString tidak NULL dan cukup besar, fungsi mengonversi data biner menjadi format string tertentu termasuk karakter null yang mengakhiri, tetapi pcchString menerima panjangTCHAR , tidak termasuk karakter null yang mengakhiri.

Mengembalikan nilai

Jika fungsi berhasil, fungsi mengembalikan nonzero (TRUE).

Jika fungsi gagal, fungsi akan mengembalikan nol (FALSE).

Komentar

Dengan pengecualian ketika pengodean CRYPT_STRING_BINARY digunakan, semua string ditambahkan dengan urutan baris baru. Secara default, urutan baris baru adalah pasangan CR/LF (0x0D/0x0A). Jika parameter dwFlags berisi bendera CRYPT_STRING_NOCR, urutan baris baru adalah karakter LF (0x0A). Jika parameter dwFlags berisi bendera CRYPT_STRING_NOCRLF, maka tidak ada urutan baris baru yang ditambahkan ke string.

Nota

Header wincrypt.h mendefinisikan CryptBinaryToString sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Platform Target Windows
Header wincrypt.h
Pustaka Crypt32.lib
DLL Crypt32.dll

Lihat juga

CryptStringToBinary