为什么写入文件会更改内容(哈希)?

问题描述 投票:0回答:1

[我注意到,在使用vim将它们复制粘贴到文件中后尝试生成一些哈希值时,哈希值不是应该的。打开和写入文件时相同。与nano的行为相同,因此肯定有些我在误解。

$ echo -n  "foo" | openssl dgst -sha256
2c26...e7ae
$ echo -n "foo" > hash.txt
$ openssl dgst -sha256 hash.txt
SHA256(hash.txt)= 2c26...e7ae

但是当我使用nano或vim打开hash.txt并退出而没有插入任何内容时,我随后得到以下哈希:b5bb...944c

[我还注意到,在不打开文件并写出来的情况下,使用cathead时看不到输出。编码更改了吗?

vim hash echo nano
1个回答
0
投票

大多数文本编辑器,包括Vim,在退出时最后都会用换行符保存文件。这是因为根据POSIX,文本文件为空或以换行符结尾,所以大多数用户期望并希望这种行为。

© www.soinside.com 2019 - 2024. All rights reserved.