QCryptographicHash Class
La clase QCryptographicHash proporciona una forma de generar hashes criptográficos. Más...
| Cabecera: | #include <QCryptographicHash> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
| enum | Algorithm { Md4, Md5, Sha1, Sha224, Sha256, …, Blake2s_256 } |
Funciones Públicas
| QCryptographicHash(QCryptographicHash::Algorithm method) | |
(since 6.5) | QCryptographicHash(QCryptographicHash &&other) |
| ~QCryptographicHash() | |
| void | addData(QByteArrayView bytes) |
| bool | addData(QIODevice *device) |
(since 6.5) QCryptographicHash::Algorithm | algorithm() const |
| void | reset() |
| QByteArray | result() const |
(since 6.3) QByteArrayView | resultView() const |
(since 6.5) void | swap(QCryptographicHash &other) |
(since 6.5) QCryptographicHash & | operator=(QCryptographicHash &&other) |
Miembros públicos estáticos
| QByteArray | hash(QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<char> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<char> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<std::byte> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<std::byte> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<uchar> buffer, QByteArrayView data, QCryptographicHash::Algorithm method) |
(since 6.8) QByteArrayView | hashInto(QSpan<uchar> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method) |
| int | hashLength(QCryptographicHash::Algorithm method) |
(since 6.5) bool | supportsAlgorithm(QCryptographicHash::Algorithm method) |
Descripción Detallada
QCryptographicHash puede ser usado para generar hashes criptográficos de datos binarios o de texto.
Consulta la documentación del enum QCryptographicHash::Algorithm para ver una lista de los algoritmos soportados.
Documentación de tipos de miembros
enum QCryptographicHash::Algorithm
Nota: En versiones de Qt anteriores a la 5.9, cuando se pedía generar una suma hash SHA3, QCryptographicHash calculaba realmente Keccak. Si necesita compatibilidad con hashes SHA-3 producidos por esas versiones de Qt, utilice los enumeradores Keccak_. Alternativamente, si se requiere compatibilidad con el código fuente, defina la macro QT_SHA3_KECCAK_COMPAT.
| Constante | Valor | Descripción |
|---|---|---|
QCryptographicHash::Md4 | 0 | Genera una suma hash MD4 |
QCryptographicHash::Md5 | 1 | Generar una suma hash MD5 |
QCryptographicHash::Sha1 | 2 | Generar una suma hash SHA-1 |
QCryptographicHash::Sha224 | 3 | Generar una suma hash SHA-224 (SHA-2). Introducido en Qt 5.0 |
QCryptographicHash::Sha256 | 4 | Generar una suma hash SHA-256 (SHA-2). Introducido en Qt 5.0 |
QCryptographicHash::Sha384 | 5 | Generar una suma hash SHA-384 (SHA-2). Introducido en Qt 5.0 |
QCryptographicHash::Sha512 | 6 | Generar una suma hash SHA-512 (SHA-2). Introducido en Qt 5.0 |
QCryptographicHash::Sha3_224 | RealSha3_224 | Generar una suma hash SHA3-224. Introducido en Qt 5.1 |
QCryptographicHash::Sha3_256 | RealSha3_256 | Generar una suma hash SHA3-256. Introducido en Qt 5.1 |
QCryptographicHash::Sha3_384 | RealSha3_384 | Generar una suma hash SHA3-384. Introducido en Qt 5.1 |
QCryptographicHash::Sha3_512 | RealSha3_512 | Generar una suma hash SHA3-512. Introducido en Qt 5.1 |
QCryptographicHash::Keccak_224 | 7 | Generar una suma hash Keccak-224. Introducido en Qt 5.9.2 |
QCryptographicHash::Keccak_256 | 8 | Generar una suma hash Keccak-256. Introducido en Qt 5.9.2 |
QCryptographicHash::Keccak_384 | 9 | Genera una suma hash Keccak-384. Introducido en Qt 5.9.2 |
QCryptographicHash::Keccak_512 | 10 | Genera una suma hash Keccak-512. Introducido en Qt 5.9.2 |
QCryptographicHash::Blake2b_160 | 15 | Generar una suma hash BLAKE2b-160. Introducido en Qt 6.0 |
QCryptographicHash::Blake2b_256 | 16 | Genera una suma hash BLAKE2b-256. Introducido en Qt 6.0 |
QCryptographicHash::Blake2b_384 | 17 | Genera una suma hash BLAKE2b-384. Introducido en Qt 6.0 |
QCryptographicHash::Blake2b_512 | 18 | Genera una suma hash BLAKE2b-512. Introducido en Qt 6.0 |
QCryptographicHash::Blake2s_128 | 19 | Genera una suma hash BLAKE2s-128. Introducido en Qt 6.0 |
QCryptographicHash::Blake2s_160 | 20 | Genera una suma hash BLAKE2s-160. Introducido en Qt 6.0 |
QCryptographicHash::Blake2s_224 | 21 | Genera una suma hash BLAKE2s-224. Introducido en Qt 6.0 |
QCryptographicHash::Blake2s_256 | 22 | Genera una suma hash BLAKE2s-256. Introducido en Qt 6.0 |
Documentación de las funciones miembro
[explicit] QCryptographicHash::QCryptographicHash(QCryptographicHash::Algorithm method)
Construye un objeto que puede utilizarse para crear un hash criptográfico a partir de datos utilizando method.
[noexcept, since 6.5] QCryptographicHash::QCryptographicHash(QCryptographicHash &&other)
Move-construye un nuevo QCryptographicHash a partir de other.
Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.
Esta función se introdujo en Qt 6.5.
[noexcept] QCryptographicHash::~QCryptographicHash()
Destruye el objeto.
[noexcept] void QCryptographicHash::addData(QByteArrayView bytes)
Añade los caracteres de bytes al hash criptográfico.
Nota: En versiones de Qt anteriores a la 6.3, esta función tomaba QByteArray, no QByteArrayView.
bool QCryptographicHash::addData(QIODevice *device)
Lee los datos del QIODevice abierto device hasta el final y los hash. Devuelve true si la lectura se ha realizado correctamente.
[noexcept, since 6.5] QCryptographicHash::Algorithm QCryptographicHash::algorithm() const
Devuelve el algoritmo utilizado para generar el hash criptográfico.
Esta función se introdujo en Qt 6.5.
[static] QByteArray QCryptographicHash::hash(QByteArrayView data, QCryptographicHash::Algorithm method)
Devuelve el hash de data usando method.
Nota: En versiones de Qt anteriores a la 6.3, esta función tomaba QByteArray, no QByteArrayView.
Véase también hashInto().
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<char> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<uchar> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, QSpan<const QByteArrayView> data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<char> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<uchar> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
[static noexcept, since 6.8] QByteArrayView QCryptographicHash::hashInto(QSpan<std::byte> buffer, QByteArrayView data, QCryptographicHash::Algorithm method)
Devuelve el hash de data usando method, usando buffer para almacenar el resultado.
Si data es un span, añade todas las vistas del array de bytes al hash, en el orden dado.
El valor devuelto será un sub-span de buffer, a menos que buffer tenga un tamaño insuficiente, en cuyo caso se devuelve un QByteArrayView nulo.
Estas funciones se introdujeron en Qt 6.8.
Véase también hash().
[static] int QCryptographicHash::hashLength(QCryptographicHash::Algorithm method)
Devuelve el tamaño de la salida del hash seleccionado method en bytes.
[noexcept] void QCryptographicHash::reset()
Restablece el objeto.
QByteArray QCryptographicHash::result() const
Devuelve el valor hash final.
Véase también resultView() y QByteArray::toHex().
[noexcept, since 6.3] QByteArrayView QCryptographicHash::resultView() const
Devuelve el valor hash final.
Tenga en cuenta que la vista devuelta sólo será válida mientras el objeto QCryptographicHash no se modifique por otros medios.
Esta función se introdujo en Qt 6.3.
Véase también result().
[static, since 6.5] bool QCryptographicHash::supportsAlgorithm(QCryptographicHash::Algorithm method)
Devuelve si el algoritmo seleccionado method está soportado y si result() devolverá un valor cuando se utilice method.
Nota: OpenSSL será responsable de proporcionar esta información cuando se utilice como proveedor, de lo contrario se devolverá true ya que la implementación no OpenSSL no tiene ninguna restricción. Devolvemos false si fallamos en la consulta a OpenSSL.
Esta función se introdujo en Qt 6.5.
[noexcept, since 6.5] void QCryptographicHash::swap(QCryptographicHash &other)
Intercambia este hash criptográfico con other. Esta operación es muy rápida y nunca falla.
Esta función se introdujo en Qt 6.5.
[noexcept, since 6.5] QCryptographicHash &QCryptographicHash::operator=(QCryptographicHash &&other)
Mover-asigna other a esta instancia QCryptographicHash.
Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.
Esta función se introdujo en Qt 6.5.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.