md5加密后的字符串会不会出现引号,双引号,&,- 等特殊的字符?

我见到的md5加密后的字符串,都是字母和数字的结合,没见到过里面有其他的字符,想知道还会有其他的字符吗?谢谢了

阅读 24.9k
4 个回答

想理解 md5 的输出格式,首先要明白 md5 的规范,以及基本的编码知识。

实际上 md5 算法是底层算法,它并不是针对字符串的。算法输入的内容是一堆 bit 位。字符和文件都可以表示成位,然后丢进 md5 算法中运算。同样地,它的输出也是一堆 bit 位。

所以你看到的【字母-数字】组合,则是对这些 bit 位的表达。根据维基百科 https://zh.wikipedia.org/wiki...,可以知道:

一般 128 位的 MD5 散列被表示为 32 位十六进制数字。

所以这些字符取值范围仅限于 0-9 和 a-f。如二进制的八位 0001 1111 表示为字符 1f
从而在输出中也就没有其他符号出现的可能了。

MD5加密出来应该就是一串16进制数吧

加密出来的是一个十六进制的数不是字符串。

新手上路,请多包涵

不会出现的 本身的算法决定了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏