~$ echo -n Welcome | md5sum
83218ac34c1834c26781fe4bde918ee4 -
83218ac34c1834c26781fe4bde918ee4 -
。 - Xanthir-n
是必需的。如果没有它,你的哈希值将完全错误,因为它包含了换行符。 - Pithikosecho -n Welcome | md5
。 - Edward J. Stemblerecho -n Welcome | md5sum | awk '{print $1}'
将提取以空格分隔的第一个“列”。你也可以使用 cut
。 - domdambrogiamd5sum
替换为md5
。 - yannismd5sum <<<"my string"
printf '%s' "my string" | md5sum
<<<"
管道;在命令行中,echo string
胜出。干得好。 - Tomprintf
正确的使用方法。如果你想要得到没有 -
的总和,可以使用 | cut -d ' ' -f 1
。示例用法:sum=$(printf '%s' 'some string' | md5sum | cut -d ' ' -f 1)
。 - Lekensteyn<<<
运算符和printf
函数对于md5哈希的结果完全不同!不过,printf的结果是正确的! - 2hamed<<<
运算符会向md5sum发送一个换行符! - 2hamedb9bfa87a6a126911f2246c7a615bff27 -
中得到了错误的结果,而不是2ba81a47c5512d9e23c435c1f29373cb -
。 - Salem F$ echo -n 123456 | md5sum | awk '{print $1}'
e10adc3949ba59abbe56e057f20f883e
#!/bin/bash
echo -n $1 | md5sum | awk '{print $1}'
执行权限:
chmod +x md5.sh
然后:
$ md5.sh 123456
e10adc3949ba59abbe56e057f20f883e
$ echo -n 123456 | md5 | awk '{print $1}'
e10adc3949ba59abbe56e057f20f883e
cut -d ' ' -f 1
- phil294md5() { echo -n $1 | md5sum | awk '{print $1}'; }
,然后我可以在命令行中使用$ md5 test
。谢谢答案。 - Ruben Benjaminawk
命令:'$0=$1'
- Alex Stragiesopenssl md5 filename
openssl sha1 filename
使用 echo 将字符串管道化为内容
echo -n 123456 | openssl md5
ctrl-d
结束输入。ctrl+d
才能起作用。 - 2hamed--help
命令查看md5sum
的说明,证明了以下命令的功能:md5sum -
md5sum
输出您输入的原始文本的MD5值(包括那个Enter,如果我没记错的话,它是一个CR)。有很多例子可以做到这一点,但其中一些并不等价,因为其中一些明确或隐含地包括换行符,而其他一些则没有。
我想清楚地指定哪些流行方法包括换行符,哪些不包括。
以下是一些示例,计算md5哈希值时不包括尾随换行符(正确):
使用文本文件:
$ echo -n "test" > test.txt
$ wc test.txt
0 1 4 test.txt
$ md5sum test.txt
098f6bcd4621d373cade4e832627b4f6 test.txt
$ echo -n "test" | md5sum
098f6bcd4621d373cade4e832627b4f6 -
printf
函数:$ printf "%s" "test" | md5sum
098f6bcd4621d373cade4e832627b4f6 -
只使用md5sum
命令:
(我们写md5sum
,按下Enter然后写入字符串test
,然后按下组合键Ctrl+d)
$ md5sum
test098f6bcd4621d373cade4e832627b4f6 -
md5sum -
命令:md5sum -
,按下Enter键,然后输入字符串test
,最后按下组合键Ctrl+d)$ md5sum -
test098f6bcd4621d373cade4e832627b4f6 -
$ echo "test" > test_n.txt
$ wc test_n.txt
1 1 5 test_n.txt
$ md5sum test_n.txt
d8e8fca2dc0f896fd7cb4cb0031ba249 test_n.txt
echo "test" | md5sum
d8e8fca2dc0f896fd7cb4cb0031ba249 -
$ md5sum <<< "test"
d8e8fca2dc0f896fd7cb4cb0031ba249 -
只使用 md5sum
命令,但在写入文本后按下Enter键:
(我们先写入md5sum
,然后按下Enter键,再输入字符串test
,然后再次按下Enter键,最后组合按下Ctrl+d)
$ md5sum
test
d8e8fca2dc0f896fd7cb4cb0031ba249 -
md5sum -
命令,但在写入文本后使用Enter键:md5sum -
,按下Enter键,然后输入字符串test
,再按一次Enter键,最后组合使用Ctrl+d)$ md5sum -
test
d8e8fca2dc0f896fd7cb4cb0031ba249 -
7803ffcaea43bb81a439fde13b29bc35
,请执行以下操作:echo "$myvariable" | md5sum | cut -d" " -f1
-n
参数,以避免输出末尾的换行符,否则会导致错误的md5值:echo -n $myvariable | md5sum | cut -d" " -f1
。 - derFunkmd5hash=$(echo -n "myhashedstring" | md5sum | head -c 32)
2e8f8b94e488a2f442a55951862612aa
的结果。
md5 -s abcdefg
- raitisd