如何将字符串回显到文件并调用函数在同一个函数中对其进行哈希处理?

如何将字符串回显到文件并调用函数在同一个函数中对其进行哈希处理?

我正在尝试创建一个函数,在其中传递 2 个变量。首先是要进行哈希处理的字符串,然后是指定哈希类型的变量,md5sha1。这是我创建的函数:

hashedWord () {
    echo $1 > pw.txt && $2 pw.txt | cut -d ' ' -f 1 
} > Desktop/hashedWord.txt

它的运行方式如下:

hashedWord aStringToHash, md5sum

其中aStringToHash$1变量,而md5sum(散列变量) 是$2

答案1

您有几个问题:

  • echo容易出错;尤其是对于你无法控制的字符串更好地利用printf
  • 你的变量没有被引用。-->printf '%s' "$1"
  • 您将密码以明文形式保存到文件中。为什么???您应该直接将密码传送到哈希算法,否则您将暴露密码。
  • 如果你这样做,你不需要echo或者printf根本不需要,你可以使用此处字符串--><<< "$1"
  • 如果您愿意,您也可以使用tee file它来> file在屏幕上查看输出。
  • Desktop/hashedWord.txt是相对路径。如果您不在 中~,这可能会引发错误。请使用绝对路径,例如~/Desktop/hashedWord.txt

--->

hashedWord() {
    "$2" <<< "$1" | cut -d ' ' -f1 | tee ~/Desktop/hashedWord.txt
}

相关内容