MD5二进制模式和文本模式有什么区别?

MrR*_*ROY 14 encryption md5 md5sum

这是我的测试:

...$ md5sum -b roy.html 
f9283ca2833ff7ebb6781ab8d23a21aa *roy.html
...$ md5sum -t roy.html 
f9283ca2833ff7ebb6781ab8d23a21aa  roy.html
Run Code Online (Sandbox Code Playgroud)

这两种模式之间有什么不同吗?

Oli*_*Oli 7

'-b''--binary'

  • 通过以二进制模式读取每个输入文件并将其
    输出为“ *”标志,将每个输入文件视为二进制文件。这是--text的反函数。在不能区分二进制文件和文本文件的GNU之类的系统上,此
    选项仅将每个输入模式标记为二进制:MD5校验和
    不受影响。在像MS-DOS这样的系统上,此选项是默认选项,该选项可
    区分二进制文件和文本文件,
    但当标准输入是终端时,读取标准输入除外。

'-t''--text'

  • 通过以文本模式读取每个输入文件并将其输出,将每个输入文件视为文本。这是--binary的反函数。在不区分二进制文件和文本文件的系统(如GNU)上,此选项是默认选项。在其他系统上,当标准输入是终端时,它是读取标准输入的默认设置。如果使用--tag,则此模式永远不会默认。

  • @Flimm我不知道会使用哪种MD5 sum工具,但是在某些编程语言中,除非指定了“二进制读取模式”,否则各种换行符在读取时可以自动转换为平台默认值。例如,在Linux上,“ \ r \ n”(Windows换行符)可以转换为“ \ n”,或者在Windows上可以将“ \ n”转换为“ \ r \ n”。 (3认同)
  • 你能举一个 MD5SUM 不同的文件的例子吗? (2认同)