【问题标题】:Encrypt Mysql password on shell script在shell脚本上加密Mysql密码
【发布时间】:2011-06-06 05:16:26
【问题描述】:

如何以加密形式将密码写入 result_p.txt 以及如何将其取回?

echo "Please enter the mysql root password : "
stty -echo
read PASSWORD
echo $PASSWORD > result_p.txt
stty echo
if [[ "$PASSWORD" = "amma" ]]
then
echo "Entered Mysql password is :" $PASSWORD 
fi

【问题讨论】:

    标签: mysql linux shell


    【解决方案1】:

    您可以使用一个小的 Python 脚本使用 Base64 对其进行混淆:

    #!/usr/bin/env python
    import getpass
    password = getpass.getpass()
    open("result_p.txt", "w").write(password.encode("base64"))
    

    然后读取密码:

    password = open("result_p.txt").read().decode("base64")
    

    【讨论】:

    • @Brenton 定义“普通”。据我所知,它是 GNU coreutils 的一部分,但它不在我的 Mac 上,而且我不希望它在 BSD 机器上。此外,你是对的——base64 不是“加密”。但我在字里行间做了一些阅读,并假设 Arunjith 只是想要混淆。
    • @David 正确,它是 coreutils 的一部分,因为问题被标记为 Linux 我不认为 BSD/OS X 是相关的。如果这是 OP 所追求的解决方案,那没问题,我只是认为它没有按要求回答原始问题。因此投反对票。
    • @Arunjith 简而言之,你不能。如果它在 shell 脚本中,那么有人将能够阅读它。可能有一些实用程序可以做这种事情,但我不知道有一个在我脑海中。
    • @Arunjith:如果你的工作正常 - 接受这个答案! :)
    • @Arunjith:抱歉,这种“保护”是个笑话。如果您发布了您想要做的一般事情,那么向您推荐一些东西会更容易。
    【解决方案2】:

    恐怕用户可以查看您的 shell 脚本的内容是没有意义的。恕我直言,最简单的方法是 'chmodding' 结果 *result_p.txt* 以便普通用户无法阅读。

    【讨论】:

      猜你喜欢
      • 2018-07-20
      • 2018-07-31
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多