En esta página

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.

ConstanteValorDescripción
QCryptographicHash::Md40Genera una suma hash MD4
QCryptographicHash::Md51Generar una suma hash MD5
QCryptographicHash::Sha12Generar una suma hash SHA-1
QCryptographicHash::Sha2243Generar una suma hash SHA-224 (SHA-2). Introducido en Qt 5.0
QCryptographicHash::Sha2564Generar una suma hash SHA-256 (SHA-2). Introducido en Qt 5.0
QCryptographicHash::Sha3845Generar una suma hash SHA-384 (SHA-2). Introducido en Qt 5.0
QCryptographicHash::Sha5126Generar una suma hash SHA-512 (SHA-2). Introducido en Qt 5.0
QCryptographicHash::Sha3_224RealSha3_224Generar una suma hash SHA3-224. Introducido en Qt 5.1
QCryptographicHash::Sha3_256RealSha3_256Generar una suma hash SHA3-256. Introducido en Qt 5.1
QCryptographicHash::Sha3_384RealSha3_384Generar una suma hash SHA3-384. Introducido en Qt 5.1
QCryptographicHash::Sha3_512RealSha3_512Generar una suma hash SHA3-512. Introducido en Qt 5.1
QCryptographicHash::Keccak_2247Generar una suma hash Keccak-224. Introducido en Qt 5.9.2
QCryptographicHash::Keccak_2568Generar una suma hash Keccak-256. Introducido en Qt 5.9.2
QCryptographicHash::Keccak_3849Genera una suma hash Keccak-384. Introducido en Qt 5.9.2
QCryptographicHash::Keccak_51210Genera una suma hash Keccak-512. Introducido en Qt 5.9.2
QCryptographicHash::Blake2b_16015Generar una suma hash BLAKE2b-160. Introducido en Qt 6.0
QCryptographicHash::Blake2b_25616Genera una suma hash BLAKE2b-256. Introducido en Qt 6.0
QCryptographicHash::Blake2b_38417Genera una suma hash BLAKE2b-384. Introducido en Qt 6.0
QCryptographicHash::Blake2b_51218Genera una suma hash BLAKE2b-512. Introducido en Qt 6.0
QCryptographicHash::Blake2s_12819Genera una suma hash BLAKE2s-128. Introducido en Qt 6.0
QCryptographicHash::Blake2s_16020Genera una suma hash BLAKE2s-160. Introducido en Qt 6.0
QCryptographicHash::Blake2s_22421Genera una suma hash BLAKE2s-224. Introducido en Qt 6.0
QCryptographicHash::Blake2s_25622Genera 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.