https://en.wikipedia.org/wiki/Hash_function#Uniformity says:
A good hash function should map the expected inputs as evenly as possible over its output range. That is, every hash value in the output range should be generated with roughly the same probability.
Note that this criterion only requires the value to be uniformly distributed, not random in any sense. A good randomizing function is (barring computational efficiency concerns) generally a good choice as a hash function, but the converse need not be true.
https://en.wikipedia.org/wiki/Hash_function#Deterministic also says:
A hash procedure must be deterministic—meaning that for a given input value it must always generate the same hash value. In other words, it must be a function of the data to be hashed, in the mathematical sense of the term. This requirement excludes hash functions that depend on external variable parameters, such as pseudo-random number generators or the time of day. It also excludes functions that depend on the memory address of the object being hashed in cases that the address may change during execution (as may happen on systems that use certain methods of garbage collection), although sometimes rehashing of the item is possible.
So does the uniformity property of a hash function f mean exactly that when an input variable X is a random variable with uniform distribution on the domain of the hash function, f(X) has a uniform distribution on the codomain of the hash function?
Thanks.