在UNICODE字符集下,CString存储方式是WCHAR宽字节。如果你的加密算法始终要求char模式,那么放弃使用CString直接使用char* 就可以了。如果无法避免宽字节字符串,那么安全的办法是通过WideCharToMultiByte函数,将UNICODE字符串转换为宽字节的char*在进行DES加密。变通的办法(存在字符串转换的隐患)是直接将WCHAR通过内存复制方式给char*进行加密,复制长度为:ytr.GetLength()*sizeof(TCHAR)