diff --git a/src/corelib/tools/qmessageauthenticationcode.cpp b/src/corelib/tools/qmessageauthenticationcode.cpp index 2d0145147a5..9580b024c2f 100644 --- a/src/corelib/tools/qmessageauthenticationcode.cpp +++ b/src/corelib/tools/qmessageauthenticationcode.cpp @@ -122,10 +122,7 @@ void QMessageAuthenticationCodePrivate::initMessageHash() const int blockSize = qt_hash_block_size(method); if (key.size() > blockSize) { - QCryptographicHash hash(method); - hash.addData(key); - key = hash.result(); - hash.reset(); + key = QCryptographicHash::hash(key, method); } if (key.size() < blockSize) { diff --git a/src/network/access/qnetworkdiskcache.cpp b/src/network/access/qnetworkdiskcache.cpp index d3320d05e3c..6f02405c0f0 100644 --- a/src/network/access/qnetworkdiskcache.cpp +++ b/src/network/access/qnetworkdiskcache.cpp @@ -594,10 +594,9 @@ QString QNetworkDiskCachePrivate::uniqueFileName(const QUrl &url) cleanUrl.setPassword(QString()); cleanUrl.setFragment(QString()); - QCryptographicHash hash(QCryptographicHash::Sha1); - hash.addData(cleanUrl.toEncoded()); + const QByteArray hash = QCryptographicHash::hash(cleanUrl.toEncoded(), QCryptographicHash::Sha1); // convert sha1 to base36 form and return first 8 bytes for use as string - const QByteArray id = QByteArray::number(*(qlonglong*)hash.result().constData(), 36).left(8); + const QByteArray id = QByteArray::number(*(qlonglong*)hash.data(), 36).left(8); // generates /<8-char filname.d> uint code = (uint)id.at(id.length()-1) % 16; QString pathFragment = QString::number(code, 16) + QLatin1Char('/') diff --git a/src/plugins/tls/shared/qsslsocket_qt.cpp b/src/plugins/tls/shared/qsslsocket_qt.cpp index 128459ea19c..8f8a87138fa 100644 --- a/src/plugins/tls/shared/qsslsocket_qt.cpp +++ b/src/plugins/tls/shared/qsslsocket_qt.cpp @@ -109,15 +109,11 @@ static QByteArray _q_PKCS12_keygen(char id, const QByteArray &salt, const QStrin QByteArray A; QByteArray B; B.resize(v); - QCryptographicHash hash(QCryptographicHash::Sha1); for (int i = 0; i < c; ++i) { // hash r iterations QByteArray Ai = D + I; - for (int j = 0; j < r; ++j) { - hash.reset(); - hash.addData(Ai); - Ai = hash.result(); - } + for (int j = 0; j < r; ++j) + Ai = QCryptographicHash::hash(Ai, QCryptographicHash::Sha1); for (int j = 0; j < v; ++j) B[j] = Ai[j % u];