gpt4 book ai didi

Python:在 Python 中获取单个位的 sha256() 哈希摘要

转载 作者:行者123 更新时间:2023-11-30 22:29:52 31 4
gpt4 key购买 nike

或者,一般来说,不是 8 倍数的任意数字或位。

根据hashlib.py有一种以 SHA256 命名的构造函数方法。然后我使用 sha256() 创建 SHA256 哈希对象。现在,我可以使用 update() 方法向该对象提供任意字符串,并且在任何时候我都可以使用digest() 或 hexdigest() 方法要求它提供迄今为止提供给它的字符串串联的摘要。

嗯。我想按照此链接 "What is the SHA-256 hash of a single '1' bit?" 向 SHA256 提供 1 位

当然是在 Python 2.7 中。

那么,对由位“1”组成的 1 位长输入进行哈希处理的过程是什么? (不是 8 位长 byte[] { 1 } 输入)?

最佳答案

hashlib API 和底层 C 模块均不支持除“字节缓冲区”之外的任何内容。

由于 SHA 标准规定向任何消息添加某些内容,无论长度如何,您甚至无法在 python 中“预填充”输入来绕过该限制。

演示(取自 https://www.rfc-editor.org/rfc/rfc4634#section-4.1 ):

>>> sha256('abcde').hexdigest()
'36bbe50ed96841d10443bcb670d6554f0a34b761be67ec9c4a8ad2c0c44ca42c'

>>> sha256('abcde\x80' + 57*'\x00' + '\x28').hexdigest()
'45cb103e6385e1330c892d1566d4d82f0c1c256947e54206704973c6c2adf4f6'

虽然计算长度不是 8 倍数的消息的哈希值在技术上可能是允许的,但我非常怀疑是否存在现实世界的用例(只需要使用 python 标准库) ,不少于)。

关于Python:在 Python 中获取单个位的 sha256() 哈希摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46217775/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com