有一个硬件密钥,用于生成一个随机字符串来启用我的软件,该字符串的有效期仅为一周。生成的字符串包含日期或日期和时间数据。如何识别字符串中的日期和时间?
我确定字符串包含日期和时间,因为我通过将我的计算机日期和时间更改为与3-4个月前生成字符串时相同的日期和时间来进行交叉检查。正如我已经说过的,我可以通过更改系统日期和时间来使用该软件。但是我想知道字符串包含日期和时间数据的内容和方式。
示例字符串如下,生成于2019年4月7日。
91B80ALEGN99IZ1A710ME0L80A8CG9发布于 2019-10-16 19:10:22
您正在讨论的字符串很可能是某种形式的散列。哈希是不可逆的。
简单不可逆函数的一个很好的例子是交叉求和。伪码:
cross_sum("04/07/2019") = 0 + 4 + 0 + 7 + 2 + 0 + 1 + 9 = 23如何从23开始计算日期"04/07/2019“?你不能。因为举个例子:
cross_sum("03/08/2019") = 23
cross_sum("03/07/2020") = 23对于哈希,这将是哈希冲突。好的散列算法对于公共或短输入不会有散列冲突。这仍然不意味着您可以从散列中计算出原始输入。
我希望这能帮到你。
https://stackoverflow.com/questions/58411785
复制相似问题