如何通过 Arch Linux 命令行创建 md5 哈希?

Par*_*dox 8 arch-linux md5 hashing

在 Arch Linux 中,如何使用命令行为密码创建单个 md5 哈希?当然,我知道有可用的安全密码散列算法,而 md5 没有,但这只是实验的一部分。

Unf*_*nut 18

只需将echo其转换为 md5sum。

在生成哈希之前,第一个结果将考虑字符串末尾的换行符。

$ echo P@ssword1 | md5sum
0a43c426e3d6764fe1f3f7cbb3579eba  -
Run Code Online (Sandbox Code Playgroud)

否则,如@AFH所述,如果您不希望有换行符,请执行以下操作:

$ echo -n 'P@ssword1' | md5sum
d106b29303767527fc11214f1b325fb6  -
Run Code Online (Sandbox Code Playgroud)

  • 这包括一个换行符和密码:这可能是提问者想要的,但如果不是,你需要`echo -n 'P@ssword1' | md5sum`。我在密码中包含了引号,以防它包含 shell 解释的字符;如果有`$`,我使用单引号来抑制扩展。 (9认同)
  • 这将返回错误的结果,因为您不是在散列 `P@ssword1`,而是散列 `P@ssword1<Newline>`。使用 `echo -n P@ssword1 | md5sum` 代替。 (7认同)
  • _“第一个结果将返回一个带有散列的换行符。”_ 不,它在生成散列时会考虑换行符,这是非常不同的事情! (5认同)

Jon*_*fer 11

没有一个答案提到使用echo -n 'password' | …,您会将密码写入持久存储,即您的历史记录。

您可以通过在命令前添加一个空格来避免这种情况,具体取决于 shell(为您的 shell 测试)。阅读有关如何处理的 shell 文档。

或者,您可以md5sum直接使用,运行md5sum,输入密码,然后Ctrl+D。不要Enter在密码和 之间打Ctrl+D,除非你想在散列中包含一个换行符。


小智 8

这是一个使用 openssl 的例子

echo -n 'stack overflow' | openssl md5
(stdin)= 481b8423202598ecfb233c5fa68caf68
Run Code Online (Sandbox Code Playgroud)

Openssl 实现了几种不同的散列算法,如果您有一天需要不同的散列算法。