我用Qt做了个客户端需要进行本地的加解密(利用xml),但是xml读写需要用QString类型,但是openssl库的输入输出都是unsigned char * 。但是Qt没有相应的类进行转换,大神们,有没有什么解决办法!!!!!
------解决方案--------------------
QByteArray过渡一下就可以了。
------解决方案--------------------
QString里面存放的是UTF8格式的字符串,而加密后得到的数据是毫无规律的二进制串
如果加密后的二进制串一定要存放在XML中,我建议你先用QByteArray将其转换为Base64格式,然后再用QString::fromAscii转化为字符串
至于解密后的结果,就看你的编码(ASCII,UTF8,etc)是啥了,然后用相应的QString::fromXXX函数将其转化为字符串
------解决方案--------------------
- C/C++ code
QString qstrContent;unsigned char* uszContent = (unsigned char *)qstrContent.toUtf8().data();qstrContent = QString::fromUtf8(QByteArray((char*)uszContent));
------解决方案--------------------
------解决方案--------------------
正解,所以楼主应该是在存取时没有注意格式的转换。