- class QCryptographicHash#
QCryptographicHash
类提供了一种生成加密散列的方法。 更多…概要#
方法#
def
__init__()
def
addData()
def
algorithm()
def
reset()
def
result()
def
resultView()
def
swap()
静态函数#
def
hash()
定义
hashLength()
注意
本文档可能包含从 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 引入
构建一个对象,可以使用该对象通过
method
在数据上创建加密哈希。-
addData(data)
- 参数:
data –
QByteArrayView
将 bytes
中的字符添加到加密哈希中。
注意
在 Qt 6.3 之前的版本中,此函数接受 QByteArray
,而不是 QByteArrayView
。
- addData(device)
- 参数:
device –
QIODevice
- 返回类型:
bool
从打开的 QIODevice
device
读取数据,直到结束并对其进行哈希操作。如果读取成功,则返回 true
。
- addData(data)
- 参数:
data – str
注意
此函数已弃用。
将 data
中的第一个 length
字符添加到加密哈希中。
请改用 QByteArrayView
重载。
返回生成加密哈希所使用的算法。
使用 method
返回 data
的哈希值。
注意
在 Qt 6.3 之前的版本中,此函数接受 QByteArray
,而不是 QByteArrayView
。
-
静态hashLength(method)
- 参数:
method –
Algorithm
- 返回类型:
int
返回选定的哈希 method
输出的大小(以字节为单位)。
返回最终的哈希值。
另请参阅
- resultView()#
- 返回类型:
QByteArrayView
返回最终的哈希值。
注意,返回的视图仅在QCryptographicHash
对象未被其他方式修改时保持有效。
另请参阅
返回是否支持选定的算法method
,并且在使用该method
时result()
将返回值。
注意
当作为提供者使用时,OpenSSL将负责提供此信息,否则将返回true
,因为非OpenSSL实现没有限制。如果我们无法查询OpenSSL,则返回false
。
- swap(other)#
- 参数:
other –
QCryptographicHash
将加密哈希other
与此加密哈希交换。此操作非常快且决不会失败。