CryptBinaryToStringA 函式 (wincrypt.h)
CryptBinaryToString函式會將位元組陣列轉換成格式化字串。
語法
BOOL CryptBinaryToStringA(
[in] const BYTE *pbBinary,
[in] DWORD cbBinary,
[in] DWORD dwFlags,
[out, optional] LPSTR pszString,
[in, out] DWORD *pcchString
);
參數
[in] pbBinary
要轉換成字串之位元組陣列的指標。
[in] cbBinary
pbBinary陣列中的元素數目。
[in] dwFlags
指定產生的格式化字串格式。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
Base64,包含憑證開頭和結尾標頭。 |
|
Base64,不含標頭。 |
|
純二進位複本。 |
|
Base64,具有要求的開頭和結尾標頭。 |
|
僅限十六進位。 |
|
十六進位,具有 ASCII 字元顯示。 |
|
Base64,具有 X.509 CRL 開頭和結尾標頭。 |
|
十六進位,具有位址顯示。 |
|
十六進位,顯示 ASCII 字元和位址。 |
|
原始十六進位字串。
Windows Server 2003 和 Windows XP: 不支援此值。 |
|
強制執行 ASN.1 文字格式的嚴格解碼。 某些 ASN.1 二進位 BLOB 可以有 BLOB 的前幾個位元組錯誤解譯為 Base64 文字。 在此情況下,會忽略其餘的文字。 使用此旗標強制執行 BLOB 的完整解碼。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支援此值。 |
除了上述值之外,還可以指定下列一或多個值來修改函式的行為。
[out, optional] pszString
接收已轉換字串之緩衝區的指標。 若要計算必須配置來保存傳回字串的字元數,請將此參數設定為 Null。 函式會將必要的字元數放在pcchString所指向的值中,包括終止Null字元。
[in, out] pcchString
DWORD變數的指標,其中包含pszString緩衝區的大小,以TCHARs 為單位。 如果 pszString 為 Null,函式會計算傳回字串的長度 (包括 TCHARs 中終止的 null 字元) ,並在此參數中傳回它。 如果 pszString 不是 Null 且夠大,則函式會將二進位資料轉換成指定的字串格式,包括終止 Null 字元,但 pcchString 會接收 TCHARs 中的長度,不包括終止 Null 字元。
傳回值
如果函式成功,函式會傳回非零 (TRUE) 。
如果函式失敗,它會傳回零 (FALSE) 。
備註
除了 使用CRYPT_STRING_BINARY 編碼之外,所有字串都會附加新的行序列。 根據預設,新行序列是 CR/LF 配對 (0x0D/0x0A) 。 如果 dwFlags 參數包含 CRYPT_STRING_NOCR 旗標,則新行序列是 LF 字元 (0x0A) 。 如果 dwFlags 參數包含 CRYPT_STRING_NOCRLF 旗標,則不會將新行序列附加至字串。
注意
wincrypt.h 標頭會根據 UNICODE 預處理器常數的定義,將 CryptBinaryToString 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應