如何在Qt中创建MD5哈希?

3

I want to create a MD5 hash code in Qt.

My code :

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

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

有什么建议吗?

2个回答

3

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的方法。请选择最适合您的方法。

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


0
我在以下代码中使用toStdString().c_str()QString转换为const char*,用于static QByteArray hash(const QByteArray &data, Algorithm method);方法中:
QString queryStr;
    queryStr = QString("%1")
            .arg(QString(QCryptographicHash::hash(ui->txtPassword->text().toStdString().c_str(),QCryptographicHash::Md5).toHex()));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接