[英]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.