INNER CODE UNIT · C++
signStartPos
QuasarApp/Qt-Secret · src/Qt-RSA/qrsaencryption.cpp:386
auto signStartPos = rawData.lastIndexOf(QString(SIGN_MARKER).toLatin1(), rawData.length() - signMarkerLength - 1);
// length of signature in rawData
auto signLength = rawData.length() - signStartPos - signMarkerLength * 2;
// message, that was recieved from channel
QByteArray message = rawData.left(signStartPos);
// hash, that was decrypt from recieved signature
QByteArray recievedHash = decode(QByteArray::fromHex(rawData.mid(signStartPos + signMarkerLength, signLength)),
pubKey, BlockSize::OneByte);
// if recievedHash == hashAlgorithm(recived message), then signed message is valid
return recievedHash == QCryptographicHash::hash(message, HashAlgorithm::Sha256);
}
bool QRSAEncryption::save(const QString &file, const QByteArray& key) {
QFile keyFile(file);