每当我使用MD5对文件名进行哈希处理(上传的文件已经被赋予了MD5哈希名称),哈希的十六进制表示总是以数字开头。
这是我服务器上少量文件的巧合,还是一种正常情况?
每当我使用MD5对文件名进行哈希处理(上传的文件已经被赋予了MD5哈希名称),哈希的十六进制表示总是以数字开头。
这是我服务器上少量文件的巧合,还是一种正常情况?
chris@siri ~ (3.6M) $ echo 'yoyo' | md5sum
e0ea852f2f2d9564429842f7863af499 -
这只是巧合。
#
不是 md5 的一部分。整个 md5 由32个字符组成,每个字符代表4位二进制,使用16进制表示。因此,整个 md5 只包含16进制数字,你可以说它总是以一个数字开头。
你可能是想问,它们是否总是以十六进制数字 0-9 而不是 a-f 开始,答案是否定的。它们可以从 0-f 中任何位置开始。
总之:十六进制数
#
字符必须来自其他地方。 - Pekkamd5
是一个32位十六进制数字,因此它可以以数字或字母 a
到 f
中的任意一个开头。
MD5 只能是十六进制(32 位数字 0-9 A-F),哈希不是其中的一部分。