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 アルゴリズムを使用して計算したハッシュを返します。
この関数は、data とsalt を受け取り、指定されたハッシュalgorithm を用いてiterations の繰り返しでハッシュを計算する。結果のハッシュがdkLen より長い場合は、切り捨てられた後に返される。
この関数はSHA-1とMD5のみをサポートしている!最大出力サイズは、SHA-1の場合は160ビット(20バイト)、MD5の場合は128ビット(16バイト)である。これを超える値をdkLen に指定すると警告が表示され、空のQByteArray が返される。この制限をプログラムでチェックするには、QCryptographicHash::hashLength を使用することができる。さらに:salt は常に8バイト長でなければならない!
注: この関数はレガシー・アプリケーションで使用するために提供されており、新しいアプリケーショ ンはすべてPBKDF2 を使用することを推奨します。
deriveKeyPbkdf2 、QCryptographicHash 、QCryptographicHash::hashLengthも参照のこと 。
QByteArray QPasswordDigestor::deriveKeyPbkdf2(QCryptographicHash::Algorithm algorithm, const QByteArray &data, const QByteArray &salt, int iterations, quint64 dkLen)
RFC 8018の5.2節で定義されているPBKDF2-アルゴリズムを使用して鍵を導出する。
この関数は、data とsalt を受け取り、HMAC-X(Xはalgorithm)を繰り返し適用する。この関数は内部的に、少なくともdkLen のバイト数が計算されるまで、中間結果を最終出力に連結し、連結が必要になるたびに HMAC-Xiterations を実行する。HMAC-Xを実行する合計回数は、iterations 、dkLen 、algorithm に依存し、iterations * ceil(dkLen / QCryptographicHash::hashLength(algorithm))
として計算できる。
deriveKeyPbkdf1,QMessageAuthenticationCode,QCryptographicHashも参照 。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。