首页 > 解决方案 > bash 中的行加密行导致所有行的哈希值完全相同

问题描述

好的,我对 bash 很陌生,只是尝试获取一个单词表并为每一行吐出一个 MD5 哈希。我设法一起摆脱了这个:

while IFS= read -r line
do
   bash -c 'echo -n "$line" | md5sum >> hashes.txt'

done < wordlist.txt

但是当在这个词表上运行时:

test
abcd
password
password1
p@ssphrase
banana01
cindy
lou
who
mymom
yourmom

我明白了:

d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -
d41d8cd98f00b204e9800998ecf8427e  -

虽然我最初认为它可能是整个文件的哈希,但当我尝试时它不匹配。cat此外,代码的工作方式与ifbash -c 'echo -n "$line" | md5sum >> hashes.txt'替换为完全相同echo "$line"

任何帮助将不胜感激,我觉得这个问题对于任何有经验的人来说都是显而易见的。谢谢你。

标签: bashencryptionhash

解决方案


问题来自使用bash -c而不是我应该使用的:

echo -n "$test" | md5sum >> hashes.txt

在评论中感谢 Barmar。


推荐阅读