【发布时间】:2011-11-14 10:21:56
【问题描述】:
显然,由于 SHA-1 散列每次产生 40 个字符,因此可能的散列数量是有限的——有人知道确切的数量吗?
【问题讨论】:
-
它不会“产生” 40 个字符。它确实产生了 160 位的散列。如果您以十六进制格式查看它们,您会看到 40 个十六进制数字。
-
没有。 40 个有符号/无符号字符“通常”为 320 位(8 位/字符)。 SHA-1 是 160 位 = 20 字节 = 40 个十六进制数字。你问了一个关于有多少 SHA-1 哈希的精确问题。举个例子,如果我在 base64 中编写一个 SHA-1,我会得到一个长 28 个字符的字符串(其中 1 个是固定的并且是终止
=) -
好的,SHA-1 哈希由 160 位 = 40 个十六进制数字组成,如果这样可以更好,通常编码为 40 个字符串。我最后的评论确实不正确,考虑到我用 C 编写了一个紧凑的 SHA1er,这很糟糕。
-
我担心你是一个初级程序员,认为 DVD-ROM 是一个杯架 :-) 但是如果你写了一个 SHA-1er,那么你可以想任何你想要的 SHA1 哈希:- ) 在这种情况下,它变成了“明智的选择”:-)
标签: hash cryptography sha1 sha hash-collision