bash - 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"
任何帮助将不胜感激,我觉得这个问题对于任何有经验的人来说都是显而易见的。谢谢你。
解决方案
问题来自使用bash -c
而不是我应该使用的:
echo -n "$test" | md5sum >> hashes.txt
在评论中感谢 Barmar。
推荐阅读
- qemu - qemu-system-x86_64: Files\qemu\: 总线=0,单元=0(索引=0)的驱动器存在
- python - 为什么我的代码在读取文件时写了两次
- reactjs - 我一次只能在我的 Reactjs 输入中输入一个字母
- android - 如何模拟驾驶员的运动以检查实时跟踪
- wordpress - Woocommerce 按标签显示评论和评分
- azure - Azure 函数发布 - “等待 SCM 更新环境设置超时”
- reactjs - React Native - 在 FlatLists 中呈现有状态组件是否正确?
- manim - 使用 Manim,我可以在现有对象的背景中绘制一个新对象吗?
- javascript - 将 socket.io 与 ECMA 脚本模块 (ESM) 一起使用?
- python - 使用原始数据框中的列根据条件将数据框分成不同的数据框