如何在Qt中创建MD5哈希

How to create MD5 hash in Qt?

本文关键字:创建 MD5 哈希 Qt      更新时间:2023-10-16

我想在Qt中创建一个MD5哈希代码。

我的代码:

QString queryStr;
queryStr = QString("%1")
.arg(QString(QCryptographicHash::hash(ui->txtPassword->text(),QCryptographicHash::Md5).toHex()));

但是我的代码不起作用!hash方法在Qt中不起作用!

有什么建议吗?

text()返回QStringQCryptographicHash::hash需要QByteArray,并且没有隐式转换,因此您应该自己完成。使用类似的东西:

QString queryStr;
ui->lineEdit_2->setText("hash");
queryStr = QString("%1").arg(QString(QCryptographicHash::hash(ui->lineEdit_2->text().toUtf8(),QCryptographicHash::Md5).toHex()));
qDebug()<< queryStr;

在文档中,您可以看到另一个返回QByteArray的mrmethods。选择最适合你的。

http://qt-project.org/doc/qt-5/qstring.html

我在static QByteArray hash(const QByteArray &data, Algorithm method);方法中使用toStdString().c_str()QString铸造到const char*,如下所示:

QString queryStr;
    queryStr = QString("%1")
            .arg(QString(QCryptographicHash::hash(ui->txtPassword->text().toStdString().c_str(),QCryptographicHash::Md5).toHex()));