我正在使用Cryptopp和Qt,我的服务器向我的客户端发送一个公钥,客户端用它加密用户名并发送它(我已经测试了密码被正确发送)但是服务器端我有一个错误:“无效密文“,这是我客户的代码:
QByteArray writtendata;
QDataStream streamBytes(&writtendata,QIODevice::WriteOnly);
streamBytes << quint16(0) << bytes;
streamBytes.device()->seek(0);
streamBytes << (quint16) (bytes.size() - sizeof(quint16));
int written = socket->write(writtendata);
std :: cout << "sent : " << written << std :: endl ;
和服务器端:
in >> datalenth;
qDebug() << "datalength : " << datalenth;
if (socket->bytesAvailable() < datalenth)
return;
qDebug() << "byte available : " << socket->bytesAvailable();
QByteArray read;
in >> read;
qDebug() << "Read : " << read.size();
file.write(read);
file.close();
ifstream my;
my.open("cipher.txt");
string str((std::istreambuf_iterator<char>(my)), std::istreambuf_iterator<char>());
qDebug() << "str: "<< str.size();
cout << str <<endl ;
string recovered = T->discryptor(str) ;
std :: cout << "recovered : " << recovered << std :: endl;
my.close();
我真的不知道问题的来源。
希望任何人都能对此有所了解。