class QCryptographicHash#

QCryptographicHash 类提供了一种生成加密散列的方法。 更多

概要#

方法#

静态函数#

注意

本文档可能包含从 C++ 自动转换到 Python 的片段。我们始终欢迎对片段翻译的贡献。如果您在翻译中发现问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单来通知我们

详细描述#

QCryptographicHash 可用于生成二进制或文本数据的加密散列。

请参阅 Algorithm 枚举文档获取支持算法的列表。

class Algorithm#

注意

在 Qt 版本 5.9 之前,当要求生成 SHA3 散列时,QCryptographicHash 实际上计算 Keccak。如果您需要与那些版本的 Qt 产生的 SHA-3 散列兼容,请使用 Keccak_ 枚举。或者,如果需要源兼容性,定义宏 QT_SHA3_KECCAK_COMPAT

常量

描述

QCryptographicHash.Md4

生成 MD4 散列

QCryptographicHash.Md5

生成 MD5 散列

QCryptographicHash.Sha1

生成 SHA-1 散列

QCryptographicHash.Sha224

生成 SHA-224 散列(SHA-2)。自 Qt 5.0 引入

QCryptographicHash.Sha256

生成 SHA-256 散列(SHA-2)。自 Qt 5.0 引入

QCryptographicHash.Sha384

生成 SHA-384 散列(SHA-2)。自 Qt 5.0 引入

QCryptographicHash.Sha512

生成 SHA-512 散列(SHA-2)。自 Qt 5.0 引入

QCryptographicHash.Sha3_224

生成 SHA3-224 散列。自 Qt 5.1 引入

QCryptographicHash.Sha3_256

生成 SHA3-256 散列。自 Qt 5.1 引入

QCryptographicHash.Sha3_384

生成 SHA3-384 散列。自 Qt 5.1 引入

QCryptographicHash.Sha3_512

生成 SHA3-512 散列。自 Qt 5.1 引入

QCryptographicHash.Keccak_224

生成 Keccak-224 散列。自 Qt 5.9.2 引入

QCryptographicHash.Keccak_256

生成 Keccak-256 散列。自 Qt 5.9.2 引入

QCryptographicHash.Keccak_384

生成 Keccak-384 散列。自 Qt 5.9.2 引入

QCryptographicHash.Keccak_512

生成 Keccak-512 散列。自 Qt 5.9.2 引入

QCryptographicHash.Blake2b_160

生成 BLAKE2b-160 散列。自 Qt 6.0 引入

QCryptographicHash.Blake2b_256

生成 BLAKE2b-256 散列。自 Qt 6.0 引入

QCryptographicHash.Blake2b_384

生成 BLAKE2b-384 散列。自 Qt 6.0 引入

QCryptographicHash.Blake2b_512

生成 BLAKE2b-512 散列。自 Qt 6.0 引入

QCryptographicHash.Blake2s_128

生成 BLAKE2s-128 散列。自 Qt 6.0 引入

QCryptographicHash.Blake2s_160

生成 BLAKE2s-160 散列。自 Qt 6.0 引入

QCryptographicHash.Blake2s_224

生成 BLAKE2s-224 散列。自 Qt 6.0 引入

QCryptographicHash.Blake2s_256

生成 BLAKE2s-256 散列。自 Qt 6.0 引入

__init__(method)#
参数:

methodAlgorithm

构建一个对象,可以使用该对象通过 method 在数据上创建加密哈希。

addData(data)
参数:

dataQByteArrayView

bytes 中的字符添加到加密哈希中。

addData(device)
参数:

deviceQIODevice

返回类型:

bool

从打开的 QIODevice device 读取数据,直到结束并对其进行哈希操作。如果读取成功,则返回 true

addData(data)
参数:

data – str

注意

此函数已弃用。

data 中的第一个 length 字符添加到加密哈希中。

请改用 QByteArrayView 重载。

algorithm()
返回类型:

算法

返回生成加密哈希所使用的算法。

静态hash(data, method)
参数:
返回类型:

QByteArray

使用 method 返回 data 的哈希值。

注意

在 Qt 6.3 之前的版本中,此函数接受 QByteArray ,而不是 QByteArrayView

静态hashLength(method)
参数:

methodAlgorithm

返回类型:

int

返回选定的哈希 method 输出的大小(以字节为单位)。

reset()
result()
返回类型:

QByteArray

返回最终的哈希值。

另请参阅

resultView() toHex()

resultView()#
返回类型:

QByteArrayView

返回最终的哈希值。

注意,返回的视图仅在QCryptographicHash对象未被其他方式修改时保持有效。

另请参阅

result()

static supportsAlgorithm(method)#
参数:

methodAlgorithm

返回类型:

bool

返回是否支持选定的算法method,并且在使用该methodresult()将返回值。

注意

当作为提供者使用时,OpenSSL将负责提供此信息,否则将返回true,因为非OpenSSL实现没有限制。如果我们无法查询OpenSSL,则返回false

swap(other)#
参数:

otherQCryptographicHash

将加密哈希other与此加密哈希交换。此操作非常快且决不会失败。