[英]LPBYTE data to CString in MFC
我正在使用 CryptProtectData function 加密數據,並且我正在獲取 LPBYTE 格式的加密數據,我想將該數據保存到一個文件中,然后讀回以進行解密。
為了在文件中寫入字符串,我使用以下方法將 LPBYTE 數據轉換為 CString:
CString strEncrUName = (wchar_t *)encryptedUN;
我什至試過這個How to convert from BYTE array to CString in MFC? 但它仍然無法正常工作。
使用的字符集是 unicode。
提前致謝
加密數據是原始字節的緩沖區,而不是字符。 如果要將其轉換為字符串,則必須以某種方式對其進行編碼,例如將其轉換為十六進制字符。
例如。 字節 0xd5 變為 2 個字符:“D5”
循環遍歷每個字節並將其轉換為十六進制字符是留給讀者的簡單練習。
當然,您必須在讀取文件后將其轉換回二進制文件。
您確定要將其保存到文本文件中嗎? 您的另一個選擇是將二進制加密數據保存到二進制文件中:無需轉換為字符串。
如果您的指針表示以零結尾的字符串
LPBYTE pByte;
CString str(LPCSTR(pByte));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.