#include <QtCore/QCoreApplication> #include
<QTextCodec
> #include
<QString
> #include
<QDebug
> QString getXorEncryptDecrypt
(const QString
&, const char
&); QString byteToQString
(const QByteArray
&byte
); QByteArray qstringToByte
(const QString
&strInfo
); int main
(int argc
, char
*argv
[]) { QCoreApplication a
(argc
, argv
); QString str
= QString
("http://www.baidu.com?id=1"); QString jiami
= getXorEncryptDecrypt
(str
, 11
); qDebug
() << "str:" << str
; qDebug
() << "miwen:" << jiami
; QString jiemi
= getXorEncryptDecrypt
(jiami
, 11
); qDebug
() << "jimi:" << jiemi
; return a
.exec
(); } QString getXorEncryptDecrypt
(const QString
&str
, const char
&key
) { QString result
; QByteArray bs
= qstringToByte
(str
); for(int i
=0
; i
<bs
.size
(); i
++){ bs
[i
] = bs
[i
] ^ key
; } result
= byteToQString
(bs
); return result
; } QString byteToQString
(const QByteArray
&byte
) { QString result
; if(byte
.size
() > 0
){ QTextCodec
*codec
= QTextCodec
::codecForName
("utf-8"); result
= codec
->toUnicode
(byte
); } return result
; } QByteArray qstringToByte
(const QString
&strInfo
) { QByteArray result
; if(strInfo
.length
() > 0
){ QTextCodec
*codec
= QTextCodec
::codecForName
("utf-8"); result
= codec
->fromUnicode
(strInfo
); } return result
; }
testXorJiami$ ./testXorJiami
str: "http://www.baidu.com?id=1"
miwen: "c^?^?{1$$|||%ijbo~%hdf4bo6:"
jimi: "http://www.baidu.com?id=1"
xorEncryptDecrypt.rar