Я не думаю, что это возможно вообще. Возьмем, к примеру, значения 4:15, 4:55, 5:30, с хэшами X, Y и Z. 4:55 находится в течение прошедшего часа как 4:55, так и 5:30, поэтому Y должен быть равен Z Однако 4:15 находится в прошлом часе 4:55, но не в 5:30, поэтому X должен быть равен Y и отличается от Z.
Лучше избегать хэшей и делать как предложено katrielalex, сохраняя datetime (или timedelta) и использовать это в ваших чеках.
Обновление: Кажется, я misundestood вас, вы хотите хэши для крипто, а не для хранения вещей в хэш-таблице для быстрого доступа ... Может быть, если вы предоставить более подробную информацию о ваших потребностях, мы можем помочь вам лучше, как кто построит хэш, который будет проверять хэш, против чего и т. д.
Существует не так много минут за час, даже много секунд, поэтому в принципе вы можете просто хешировать начальное время (усеченное до ближайшей минуты/second), и чтобы убедиться, что хеш остается в силе, возьмите текущее время и проверьте хэши каждую минуту/секунду до этого. Наивное решение, но может быть отправной точкой для чего-то лучшего.
Почему это должно быть хэш-строка? Почему бы просто не сохранить объект 'datetime' и сравнить это? – katrielalex
Я думаю, вам может понравиться [этот другой вопрос] (http://stackoverflow.com/questions/9043172/hash-a-range-of-values) – inspectorG4dget
@katrielalex, у меня есть токен, который действителен только в том случае, если он был построен в течение последнего часа. Если я предоставил объект datetime вместе с токеном, злоумышленник мог бы легче вычислить алгоритм хэширования. – TheOne