Fungsi CryptStringToBinaryA (wincrypt.h)
Fungsi CryptStringToBinary mengonversi string yang diformat menjadi array byte.
Sintaks
BOOL CryptStringToBinaryA(
[in] LPCSTR pszString,
[in] DWORD cchString,
[in] DWORD dwFlags,
[in] BYTE *pbBinary,
[in, out] DWORD *pcbBinary,
[out] DWORD *pdwSkip,
[out] DWORD *pdwFlags
);
Parameter
[in] pszString
Penunjuk ke string yang berisi string yang diformat untuk dikonversi.
[in] cchString
Jumlah karakter string yang diformat yang akan dikonversi, tidak termasuk karakter NULL yang mengakhiri. Jika parameter ini nol, pszString dianggap sebagai string yang dihentikan null.
[in] dwFlags
Menunjukkan format string yang akan dikonversi. Ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
|
Base64 antara baris formulir '-----BEGIN ...-----' dan '-----END ...-----'. Lihat Keterangan di bawah ini. |
|
Base64, tanpa header. |
|
Salinan biner murni. |
|
Base64 antara baris formulir '-----BEGIN ...-----' dan '-----END ...-----'. Lihat Keterangan di bawah ini. |
|
Format heksadesimal saja. |
|
Format heksadesimal dengan tampilan karakter ASCII . |
|
Coba yang berikut ini, secara berurutan:
|
|
Coba yang berikut ini, secara berurutan:
|
|
Coba yang berikut ini, secara berurutan:
|
|
Base64 antara baris formulir '-----BEGIN ...-----' dan '-----END ...-----'. Lihat Keterangan di bawah ini. |
|
Hex, dengan tampilan alamat. |
|
Hex, dengan karakter ASCII dan tampilan alamat. |
|
String heksadesimal mentah.
Windows Server 2003 dan Windows XP: Nilai ini tidak didukung. |
|
Atur bendera ini untuk data Base64 untuk menentukan bahwa akhir data biner hanya berisi spasi kosong dan paling banyak tiga sama dengan tanda "=".
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung. |
[in] pbBinary
Penunjuk ke buffer yang menerima urutan byte yang dikembalikan. Jika parameter ini NULL, fungsi menghitung panjang buffer yang diperlukan dan mengembalikan ukuran, dalam byte, memori yang diperlukan dalam DWORD yang ditunjukkan oleh pcbBinary.
[in, out] pcbBinary
Penunjuk ke variabel DWORD yang, pada entri, berisi ukuran, dalam byte, dari buffer pbBinary . Setelah fungsi kembali, variabel ini berisi jumlah byte yang disalin ke buffer. Jika nilai ini tidak cukup besar untuk berisi semua data, fungsi gagal dan GetLastError mengembalikan ERROR_MORE_DATA.
Jika pbBinaryADALAH NULL, DWORD yang diabaikan oleh pcbBinary .
[out] pdwSkip
Penunjuk ke nilai DWORD yang menerima jumlah karakter yang dilewati untuk mencapai awal -----BEGIN ...-----
header.
Jika tidak ada header, maka DWORD diatur ke nol.
Parameter ini bersifat opsional dan dapat berupa NULL jika tidak diperlukan.
[out] pdwFlags
Pointer ke nilai DWORD yang menerima bendera yang benar-benar digunakan dalam konversi. Ini adalah bendera yang sama yang digunakan untuk parameter dwFlags . Dalam banyak kasus, ini akan menjadi bendera yang sama yang diteruskan dalam parameter dwFlags . Jika dwFlags berisi salah satu bendera berikut, nilai ini akan menerima bendera yang menunjukkan format string yang sebenarnya. Parameter ini bersifat opsional dan dapat berupa NULL jika tidak diperlukan.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).
Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE).
Keterangan
Bendera CRYPT_STRING_BASE64HEADER, CRYPT_STRING_BASE64REQUESTHEADER, dan CRYPT_STRING_BASE64X509CRLHEADER semuanya diperlakukan identik dengan fungsi ini: Mereka mencoba mengurai blok pertama data yang dikodekan base64 antara baris formulir -----BEGIN ...-----
dan -----END ...-----
.
Bagian ...
diabaikan, dan tidak perlu cocok.
Jika penguraian berhasil, nilai yang diteruskan dalam parameter dwFlags dikembalikan dalam DWORD yang diarahkan oleh parameter pdwFlags .
Perhatikan bahwa nilai CRYPT_STRING_BASE64REQUESTHEADER atau CRYPT_STRING_BASE64X509CRLHEADER tidak berarti bahwa header permintaan atau daftar pencabutan sertifikat (CRL) X.509 ditemukan.
Catatan
Header wincrypt.h mendefinisikan CryptStringToBinary sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Crypt32.lib |
DLL | Crypt32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk