【发布时间】:2012-12-12 12:56:35
【问题描述】:
我有一个要根据日期加密和解密的文件。编写时,我想使用当前日期,而不是时间。我会用什么来做这个?
然后,每当我想解密它时,我都可以使用 File.lastModified 来获取长日期。从这里开始,如何将其仅转换为写入日期(而不是时间)(或上次修改,应该相同)?
我宁愿避免使用额外的库,如果它过于复杂,那很好,因为我正在加密数据,而复杂的代码将有助于摆脱窥探者。最重要的是,它需要能够以相同的方式跨所有语言环境和平台读取日期,以免丢失加密。
编辑:URL 问题已解决。 Java 想要 / 在 .net 和 ?如下:
"http://login.minecraft.net/?user=" + username + "&password=" + password + "&version=99"
现在我的加密课因为某事而崩溃了……
【问题讨论】:
-
目前不多,我有点纠结于如何从 Java 的日期缩短时间。现在,读者正在使用原始 long 进行解密,但其中有时间,而且我知道在我的代码获取日期和文件实际创建(修改)时间之间很可能存在毫秒差异.这就是为什么我只想要日期。
-
忽略了使用最后修改日期作为密钥来加密文件是没有意义的(任何想要访问数据的人都知道密钥并且丢失了,只要你复制文件),为什么您认为使用日期而不是日期+时间可以解决您的问题,即加密发生在实际文件修改之前的某个时间?如果文件在午夜之前被加密并且直到午夜之后才被修改怎么办?
-
首先,我的程序的用户不会知道密钥是什么,而且如果他们需要我的程序,他们很可能不会有任何加密知识,而且它是比硬编码密钥更安全。其次,您认为有人希望在晚上 11:59:59 准确保存他们的数据的频率是多少?机会是指数级的!我是否应该只在键中包含年份和月份来使产生这种效果的难度增加 31 倍?
标签: java date encryption time long-integer