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