我在Mac OS X中使用命令行和bash。我将在我的脚本中询问:
Enter your password?
>
Do you want to save it and do not ask this more?
密码是解压缩文件。为此,必须始终输入,但我希望只输入一次。
我可以轻松地将其保存在文本文件中,但这太明显了。
所以我想把它保存在系统中。 Windows有“Windows注册表”。在Mac OS X(或Unix)中是否有类似的系统可以保存它并且它不会丢失?
或者是否有另一种保存密码的方法,它会更安全?我知道如果有人用调试模式运行脚本(显示命令行是如何创建的),他将很容易找到密码,但他必须得到计算机,所以是一种物理安全性。
答案 0 :(得分:0)
您可以按照存储系统密码的方式执行此操作:使用纯文本文件但存储校验和而不是纯文本密码。用户无法访问该文件是最好的,但即使是这样,反转校验和并不容易。假设您将密码读入变量password
。然后,您可以执行echo "$password" | sha1sum - > password_file
之类的操作。然后在下次登录时,通过相同的命令运行用户提供的密码并比较结果。这样,您可以检查他们是否输入了正确的密码,而没有以明文形式存储密码。
答案 1 :(得分:0)
要么使用操作系统的密钥环(OSX有这样的东西),要么以纯文本形式存储。当你不是时,不要假装你是安全的。如果你不能安全地存放东西,那么将它们存放在视线范围内,这样就不会给用户带来错误的安全感。