Как распознать дату или дату и время, закодированные в строке? - PullRequest
0 голосов
/ 16 октября 2019

Существует аппаратный ключ, который используется для генерации случайной строки, чтобы включить мое программное обеспечение, и эта строка действительна только в течение недели. Сгенерированная строка содержит дату или дату и время. Как распознать дату и время в строке?

Я уверен, что строка содержит дату и время, потому что я перепроверил, изменив дату и время на моем компьютере на те же, что и при создании строки 3-4 месяца назадКак я уже сказал, я могу использовать программное обеспечение, изменяя системную дату и время. Но я хочу знать, что и как строка содержит данные даты и времени.

Ниже приведен пример строки, сгенерированной 04/07/2019.

91B80ALEGN99IZ1A710ME0L80A8CG9

1 Ответ

0 голосов
/ 16 октября 2019

Строка, о которой вы говорите, вероятно, является некоторой формой хэша. Хеши необратимы.

Хорошим примером простых необратимых функций является кросс-сумма. Псевдокод:

cross_sum("04/07/2019") = 0 + 4 + 0 + 7 + 2 + 0 + 1 + 9 = 23

Как вычислить дату «04/07/2019» из 23? Ты не можешьПотому что, например:

cross_sum("03/08/2019") = 23
cross_sum("03/07/2020") = 23

Для хэшей это будет коллизия хешей. Хорошие алгоритмы хеширования не имеют хеш-коллизий для общих или коротких входных данных. Это по-прежнему не означает, что вы можете рассчитать исходные данные из хеша.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...