首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在固定的时间间隔内设置密码

在固定的时间间隔内设置密码
EN

Ask Ubuntu用户
提问于 2019-09-16 17:43:05
回答 1查看 89关注 0票数 1

我想存储和加密一个密码,只有在特定的时间间隔(如晚上9点以后)才能访问该密码。(原因是我强迫自己坚持行为承诺,由密码保护的反拖延软件强制执行。)

lockbox.pluckeye.net有一个在线解决方案,但我希望将密码存储在本地或Dropbox中,以防服务中断。

我将感谢任何方法/软件提示!

EN

回答 1

Ask Ubuntu用户

发布于 2019-09-19 06:56:46

你所描述的是鸡和蛋的问题。使用加密,您将如何加密您的密码,使它只能用目前无法获得的信息进行解密?如果你要到将来才知道这些信息,你现在就不能加密你的密码。

最简单的选择,可能只是把密码给你信任的人,并让他们承诺,他们不会还给你,直到你指定的时间。更好的是,让他们创建密码,这样您就无法开始访问它。如果你不完全信任另一个人,你可以键入密码的前半部分,然后让他们键入下半部分。如果双方都不向对方透露他/她的部分密码,则在没有对方帮助的情况下,双方都无法访问该服务。

我能想到的其他解决方案包括建立一个类似于您自己的服务,然后将自己锁在它之外。您可以设置一个服务器,该服务器只在预先定义的时间查询时才会告诉您密码。然后将管理权限交给另一个人,或者将自己锁在门外,这样您就无法在任何时候破门而入并获得密码。

如果你只想要一个简单的脚本来实现这一点,那么就试试下面的脚本吧。只要意识到,如果脚本被以某种方式终止,您的密码将永远丢失,如果您没有其他地方的副本,不方便访问,如保险箱或委托给朋友。

代码语言:javascript
复制
#!/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扩展名保存的明文文件中,使其可执行,然后从终端窗口运行。

票数 -1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1174578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档