如何直接在终端中获取字符串的 MD5 哈希值?

如何直接在终端中获取字符串的 MD5 哈希值?

我如何获得MD5直接从终端获取字符串的哈希值?

例如,我希望对字符串abcdefg进行哈希处理。目前md5sum命令仅接受文件名作为输入。我只想输入以下行,然后一切就完成了。

md5sum abcdefg
output: ac54bcf346e578feb46888b3ecd2344f

我怎样才能实现这个目标?

答案1

你也可以这样说:

~$ echo -n Welcome | md5sum
83218ac34c1834c26781fe4bde918ee4  -

它基本上与@enzotib 描述的做同样的事情,但可能更简单一些。

答案2

非常简单,它接受标准输入,所以

md5sum <<<"my string"

为了避免 shell 添加尾随换行符:

printf '%s' "my string" | md5sum

答案3

$ echo -n 123456 | md5sum | awk '{print $1}'
e10adc3949ba59abbe56e057f20f883e

您可以创建一个 shell 脚本。

例如脚本名为md5.sh:

#!/bin/bash

echo   -n   $1 | md5sum | awk '{print $1}'

权限执行:

 chmod +x md5.sh

然后:

$ md5.sh 123456
e10adc3949ba59abbe56e057f20f883e

如果你的系统是 macOS。你需要修改这个脚本:

$ echo -n 123456 | md5 | awk '{print $1}' 
e10adc3949ba59abbe56e057f20f883e

答案4

运行不带任何参数的 md5sum 将使其从终端读取输入。输入或粘贴任何您想要的内容,完成后,按ctrl-d结束输入。

相关内容