我正在建立一个网站,我想对我的图像的文件名进行哈希处理。
如何创建一个 bash 脚本文件,用旧文件名的 sha1 重命名目录中的每个文件?
我试过了 :
#!/bin/bash
for file in *
do
if [ -f "$file" ];then
newfile="openssl sha1 $file"
mv "$file" $newfile"
fi
done
但这不起作用:(
编辑
根据这里的建议,我尝试了这个:
#!/bin/bash
for file in old_names/*
do
if [ -f "$file" ];then
newfile=$(openssl sha1 $file | awk '{print $2}')
cp $file new_names/$newfile.png
fi
done
这确实重命名了文件,但我不确定用什么来散列文件名。扩展是否被散列?路径呢?
信息
然后我将使用 PHP 的 sha1() 函数来显示图像:
echo "<img src=\"images/".sha1("$nbra-$nbrb-".SECRET_KEY).".png\" />\n";