我想存储和加密一个密码,只有在特定的时间间隔(如晚上9点以后)才能访问该密码。(原因是我强迫自己坚持行为承诺,由密码保护的反拖延软件强制执行。)
lockbox.pluckeye.net有一个在线解决方案,但我希望将密码存储在本地或Dropbox中,以防服务中断。
我将感谢任何方法/软件提示!
发布于 2019-09-19 06:56:46
你所描述的是鸡和蛋的问题。使用加密,您将如何加密您的密码,使它只能用目前无法获得的信息进行解密?如果你要到将来才知道这些信息,你现在就不能加密你的密码。
最简单的选择,可能只是把密码给你信任的人,并让他们承诺,他们不会还给你,直到你指定的时间。更好的是,让他们创建密码,这样您就无法开始访问它。如果你不完全信任另一个人,你可以键入密码的前半部分,然后让他们键入下半部分。如果双方都不向对方透露他/她的部分密码,则在没有对方帮助的情况下,双方都无法访问该服务。
我能想到的其他解决方案包括建立一个类似于您自己的服务,然后将自己锁在它之外。您可以设置一个服务器,该服务器只在预先定义的时间查询时才会告诉您密码。然后将管理权限交给另一个人,或者将自己锁在门外,这样您就无法在任何时候破门而入并获得密码。
如果你只想要一个简单的脚本来实现这一点,那么就试试下面的脚本吧。只要意识到,如果脚本被以某种方式终止,您的密码将永远丢失,如果您没有其他地方的副本,不方便访问,如保险箱或委托给朋友。
#!/bin/bash
echo "Nothing will be displayed as you type"
read -sp "Password to store: " pwd && echo
while :
do
read -p "What time should I reveal the password: " time
date -d "$time" && break
echo "Invalid time format. Try again"
done
echo "Please destroy all records of your password now. Except for one copy that you will not have convenient access to."
unlockTime=$(date -d "$time" +%s)
now=$(date +%s)
timeout=$((unlockTime - now))
sleep $timeout && echo "Your password: $pwd" || echo "Shame on you for killing sleep. No password for you!"此脚本将提示您输入密码和显示密码的时间。然后,它将将密码隐藏在RAM中“安全”(不要让脚本死掉),直到您指定的时间。如果您足够厚颜无耻地杀死睡眠命令,此脚本将终止而不透露密码!只需将上面的脚本文本复制到以.sh扩展名保存的明文文件中,使其可执行,然后从终端窗口运行。
https://askubuntu.com/questions/1174578
复制相似问题