You can also include an extra random number in the hash, and require that within the window of acceptable timestamps the random numbers have to be unique.
By the way, be aware than hash(string1 + string2) constructions are often vulnerable. hash(hash(string1) + string2) is better for most hashes, I believe. But you shouldn't roll these primitives yourself, either. Just use a proper library.