Я пытаюсь создать ограниченный по времени ключ для использования в одном из моих приложений. Ключ используется для разблокировки определенных битов функциональности в приложении.Как создать ограниченный по времени хэш/ключ?
Мое мышления до сих пор
для генерации: криптографического хэша различных битам информации, что нужно + ключ даты генерации
для проверки: криптографического хэша различных битам информации, мне нужно + дата в настоящее время
, если вся информация одинакова и дата такая же, я получаю то же значение
Но,
это означает, что ключ будет работать только на определенную дату. То, что я хочу, - это ключ, действительный в течение следующих 24 часов (или продление этого, несколько дней/неделя/месяц).
Я могу продлить период, но всегда есть возможность генерировать ключ незадолго до истечения периода, например, последний день месяца в течение месяца.
Во-первых, это приемлемый способ продолжения? Если да, то как мне это сделать?
Я знаю, что «наматывание» часы назад победят систему - но я все еще заинтересован в получении некоторых мнений
Я прочитал How do I generate a time limited key or password without storing data, который подобная проблема.
Спасибо за это - мне удалось проработать это через несколько часов после публикации вопроса. Две вещи, которые мне не хватало, заключались в использовании даты истечения срока действия, как в MAC, так и в том, что она была доступна в виде обычного текста как часть токена, поэтому она доступна для использования приложением. – pauli
Я бы предложил вставить * дату выпуска *, а не дату истечения срока, так как это дает вам возможность изменить срок действия, элегантным способом, даже после выдачи маркера. –