如何使文件在特定日期之后才可读?

时间:2017-07-27 21:27:51

标签: python bash

我正在尝试向某人发送一个文件(精确的.mov视频)但我只希望他们能够在某个日期之后打开该文件。

以下是我的要求:

  1. 我知道客户端使用的是版本OSX,它有bash(也许是 蟒)
  2. 我不能假设其他人会有任何其他程序
  3. 我无法使用系统时间,因为它易于更改,我需要使用时间服务器
  4. 这是我的计划:

    1. 使用密码
    2. 在终端中使用OpenSSL加密文件
    3. 编写脚本以检查来自时间服务器(python或bash)的日期,并在预定日期已到达bean时解密该文件。
    4. 使用SHC将脚本转换为二进制文件,以使代码和密码不可读
    5. 将两个文件一起发送,指示用户运行二进制脚本
    6. (SHC是一个将任何脚本转换为二进制文件的程序:https://github.com/neurobin/shc

      我不知道如何使用bash或python检查时间服务器(或者即使这是可能的)

1 个答案:

答案 0 :(得分:3)

除非您使用您控制的服务器在适当的时间为其提供解密密钥,否则这在物理上是不可能的。如果在此之前给他们密钥,则无法阻止他们从所述脚本中提取密钥。

最简单的方法是提前向他们发送带有解密脚本的文件。当他们想要观看电影时,他们可以运行脚本。然后,解密脚本会从您的服务器发出请求。当且仅当时间超过指定点时,服务器才会使用解密密钥进行响应。

或者,向他们发送仅在指定时间后有效的下载链接。