将要散列的字符串的最大长度是多少?

daG*_*vis 5 hash sha1

我想知道......将要散列的字符串的最大长度是多少?

例如,Hello, world!使用SHA-1 散列是没有问题的.但那个字符串就像100'000'000字符长呢?它甚至有用吗?它是否以某种方式增加碰撞可能性?

有没有限制?

gbn*_*gbn 10

维基百科显示SHA-1的最大消息大小(以位为2 ^ 64-1).所以,这将是2 ^ 60-1 unicode字符.以十进制1,152,921,504,606,846,975个字符.

大多数语言字符串限制为2GB - 1个字符.

碰撞概率受生日问题的影响,特别是"概率表"位.我不够聪明,懒得使用带有100MB字符串的SHA-1进行冲突的概率......