MD5哈希后的字符串最大长度是多少?如果没有限制,那么MD5输出值的最大长度是多少?
MD5哈希后的字符串最大长度是多少?如果没有限制,那么MD5输出值的最大长度是多少?
MD5将任意长度的消息处理成一个固定长度的128位输出,通常表示为32个十六进制数字的序列。
128位
= 16字节
= 32个十六进制数字
。 - checksumMD5("到底有多少个字符?");
- Shafizadeh据我所知,MD5输入的长度没有限制。一些实现需要将整个输入加载到内存中,然后再将其传递给MD5函数(即,实现作用于一个内存块,而不是流),但这不是算法本身的限制。输出始终为128位。请注意,MD5不是加密算法,而是密码哈希。这意味着您可以使用它来验证数据块的完整性,但不能反向哈希。
还要注意,MD5被认为已被破解,因此不应将其用于任何与安全有关的事情(仍可用于验证下载文件等完整性)。
MD5算法会将消息长度附加到最后一个块的最后64位,因此可以说该消息最长可达2^64位(18e18位)。
MD5输入的最大长度:可定义和可用的比特流的最大长度。 比特流的定义约束可能取决于操作系统、硬件限制、编程语言等等...
MD5输出的长度:固定长度始终为128位。 为了更容易显示,它们通常以十六进制显示,因为每个十六进制数字(0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F)占用4位空间,所以其输出可以显示为32个十六进制数字。 128位=16字节=32个十六进制数字。