所以我目前有一个bash脚本,该脚本使用一个哈希值,然后要求用户输入密码,将其输入转换为哈希值,然后进行比较。
#!/bin/bash
crypt="8277e0910d750195b448797616e091ad"
echo "please enter a password!"
read inc
hash="$((echo -n $inc|md5sum) | awk '{print $1}')"
if [[ "$hash" == "$crypt" ]];
then
echo "logged in"
else
echo "incorrect pass"
fi
我现在想创建另一个程序,该程序通过在密码输入中添加(从az)值来蛮力地强制使用此密码,但是由于遇到我对bash文件操作的了解有限,我遇到了麻烦,因为我从未对另一个脚本运行脚本脚本之前。
#!/bin/bash
for i in {a..z}; do
(echo -n "$i: " && ./hashscript $i) | grep logged in
done
答案 0 :(得分:1)
由于第一个脚本正在从stdin(使用read
)中读取数据,因此第二个脚本将需要以这种方式传递数据:
#!/bin/bash
for i in {a..z}; do
(echo -n "$i: " && echo $i | ./hashscript) | grep logged in
done