抱歉,如果之前有人问过这个问题,我确实检查过但找不到任何东西......
Unix 中是否有函数可以在批处理文件中加密和解密密码,以便我可以将其通过管道传输到 bash 文件中的其他一些命令?
我意识到这样做并不能提供真正的安全性,更多的是防止有人在我肩上查看脚本时意外看到密码 :)
我在 Red Hat 5.3 上运行。
我有一个脚本可以做类似的事情:
serverControl.sh -u admin -p myPassword -c shutdown
我想做这样的事情:
password = decrypt("fgsfkageaivgea", "aDecryptionKey")
serverControl.sh -u admin -p $password -c shutdown
这不会以任何方式保护密码,但确实可以防止有人不小心看到它。
最佳答案
OpenSSL 提供了一个 passwd命令可以加密但不能解密,因为它只做散列。您还可以下载类似 aesutil 的内容因此您可以使用功能强大且众所周知的对称加密例程。
例如:
#!/bin/sh
# using aesutil
SALT=$(mkrand 15) # mkrand generates a 15-character random passwd
MYENCPASS="i/b9pkcpQAPy7BzH2JlqHVoJc2mNTBM=" # echo "passwd" | aes -e -b -B -p $SALT
MYPASS=$(echo "$MYENCPASS" | aes -d -b -p $SALT)
# and usage
serverControl.sh -u admin -p $MYPASS -c shutdown
关于security - 在 bash 文件中隐藏/加密密码以防止意外看到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3318853/