在MFC中将LPBYTE数据转换为CString

LPBYTE data to CString in MFC

本文关键字:转换 CString 数据 LPBYTE MFC 中将      更新时间:2023-10-16

我正在使用CryptProtectData函数加密数据,我正在以LPBYTE格式加密数据,我想将该数据保存到文件中,然后回读以进行解密。

为了在文件中写入字符串,我使用以下方法将LPBYTE数据转换为CString:

CString stringname = (wchar_t *)encryptedUN;

我甚至尝试过这一个如何从字节数组转换到CString在MFC?但是还是不行

使用的字符集是unicode。

Thanks in advance

加密后的数据是原始字节缓冲区,而不是字符缓冲区。如果要将其转换为字符串,则必须以某种方式对其进行编码,例如将其转换为十六进制字符。

。字节0xd5变成2个字符:"D5"

遍历每个字节并将其转换为十六进制字符是一个简单的练习,留给读者。

当然,您必须在读取文件后将其转换回二进制文件。

您确定要将其保存为文本文件吗?您的另一个选择是将二进制加密数据保存到二进制文件中:不需要将字符串转换为/from。

如果你的指针代表零终止字符串

LPBYTE pByte;因为

字符串str (LPCSTR (pByte));