QPasswordDigestor Namespace

QPasswordDigestor 名前空間には、ハッシュやキーの生成に使用できる関数が含まれています。詳細...

Header: #include <QPasswordDigestor>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

関数

QByteArray deriveKeyPbkdf1(QCryptographicHash::Algorithm algorithm, const QByteArray &data, const QByteArray &salt, int iterations, quint64 dkLen)
QByteArray deriveKeyPbkdf2(QCryptographicHash::Algorithm algorithm, const QByteArray &data, const QByteArray &salt, int iterations, quint64 dkLen)

詳しい説明

関数の説明

QByteArray QPasswordDigestor::deriveKeyPbkdf1(QCryptographicHash::Algorithm algorithm, const QByteArray &data, const QByteArray &salt, int iterations, quint64 dkLen)

RFC 8018 のセクション 5.1 で定義されている PBKDF1 アルゴリズムを使用して計算したハッシュを返します。

この関数は、datasalt を受け取り、指定されたハッシュalgorithm を用いてiterations の繰り返しでハッシュを計算する。結果のハッシュがdkLen より長い場合は、切り捨てられた後に返される。

この関数はSHA-1とMD5のみをサポートしている!最大出力サイズは、SHA-1の場合は160ビット(20バイト)、MD5の場合は128ビット(16バイト)である。これを超える値をdkLen に指定すると警告が表示され、空のQByteArray が返される。この制限をプログラムでチェックするには、QCryptographicHash::hashLength を使用することができる。さらに:salt は常に8バイト長でなければならない!

注: この関数はレガシー・アプリケーションで使用するために提供されており、新しいアプリケーショ ンはすべてPBKDF2 を使用することを推奨します。

deriveKeyPbkdf2QCryptographicHashQCryptographicHash::hashLengthも参照のこと

QByteArray QPasswordDigestor::deriveKeyPbkdf2(QCryptographicHash::Algorithm algorithm, const QByteArray &data, const QByteArray &salt, int iterations, quint64 dkLen)

RFC 8018の5.2節で定義されているPBKDF2-アルゴリズムを使用して鍵を導出する。

この関数は、datasalt を受け取り、HMAC-X(Xはalgorithm)を繰り返し適用する。この関数は内部的に、少なくともdkLen のバイト数が計算されるまで、中間結果を最終出力に連結し、連結が必要になるたびに HMAC-Xiterations を実行する。HMAC-Xを実行する合計回数は、iterationsdkLenalgorithm に依存し、iterations * ceil(dkLen / QCryptographicHash::hashLength(algorithm)) として計算できる。

deriveKeyPbkdf1,QMessageAuthenticationCode,QCryptographicHashも参照

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。