QT MySQL базы данных MD5 проблема проверки пароля - PullRequest
0 голосов
/ 16 ноября 2018

Я делаю регистрацию / форму входа с помощью qt c ++, сохраняя регистрационную информацию в mysql, пароль хэшируется md5, и я пробовал там же sha256, так что основная проблема - сохранение хэша пароля, и у меня нет проблем с этим, но когда Я сравниваю его в окне входа, он не сравнивается, и появляется сообщение о неправильном пароле. без хеширования все работает нормально, с проблемой проверки хешей. Спасибо за помощь))

if (db.open()) {
    QString email = ui->email->text();
    QString password = QString("%1").arg(QString(QCryptographicHash::hash(ui->password->text().toUtf8(),QCryptographicHash::Md5).toHex()));

    // Insert Query
    QSqlQuery query(QSqlDatabase::database("MyConnection"));
    query.prepare("SELECT * FROM users WHERE email = :email AND password = :password");
    query.bindValue(":email", email);
    query.bindValue(":password", password);

    if (!query.exec()) {
        QMessageBox::information(this,"Failed","Error please try again");
    }
    else {
        QString emailLog = query.value(1).toString();
        QString passwordLog = query.value(4).toString();

        if (query.next()) {
            QMessageBox::information(this,"SUCCESS","SUCCESS");
            ui->plstryagain->close();
            db.close();
        } else {
            QMessageBox::information(this,"Wrong","Wrong Password try again");
            ui->plstryagain->show();
            db.close();
        }
    }
}
else {
    QMessageBox::information(this, "Database Error", "Can't Connect To Database");
}
...