gpt4 book ai didi

encoding - 如果 SHA-1 哈希值只有 160 位,为什么它却有 40 个字符长?

转载 作者:行者123 更新时间:2023-12-02 10:02:56 25 4
gpt4 key购买 nike

问题的标题说明了一切。我一直在研究 SHA-1,在大多数地方我看到它是 40 个十六进制字符长,对我来说是 640 位。难道不能只用 10 个十六进制字符来表示 160bit = 20byte 吗?一个十六进制字符可以代表 2 个字节,对吗?为什么它是所需时间的两倍?我的理解中缺少什么。

如果使用 Base32 或 Base36,SHA-1 不能只有 5 个或更少的字符吗?

最佳答案

一个十六进制字符只能表示 16 个不同的值,即 4 位。 (16 = 24)

40 × 4 = 160。

<小时/>

不,您需要 5 个以上的 base-36 字符。

总共有 2160 种不同的 SHA-1 哈希值。

2160 = 1640,所以这是我们需要 40 个十六进制数字的另一个原因。

但是 2160 = 36160 log362 = 3630.9482...,所以你仍然使用 base-36 需要 31 个字符。

关于encoding - 如果 SHA-1 哈希值只有 160 位,为什么它却有 40 个字符长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704010/

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