我使用的是哈希生成器,当您在查找中输入 SHA1 时,它会在 SHA1 下输出 40 个字符。
所以当我在互联网上查找字节大小时,它说 20 个字节,即使它是 40 个字符?
我以为字节大小是由字符决定的? 1 个字符 = 1 个字节还是我错了?除非它是由位大小决定的?
我查了一下它是为了澄清我的假设是否正确,即 40 字节,但它告诉我它是 20 字节,而不是 40。
SHA-1 哈希的正式结果是 160 位,而在现代计算机上,这些结果由 20 个字节表示。
如FIPS 180-1规范所示:
对于长度较长的消息 < 2^64 bits, the SHA-1 produces a 160-bit condensed representation of the message called a message digest.
十六进制只是这 20 个字节的“文本表示”。这些相同的字节也可以是例如Base 64 编码,但 sha1sum
和其他此类实用程序通常显示(小写)十六进制,因为根据定义,哈希值的大小受到限制。