Which of the following statement(s) is TRUE?
- A hash function takes a message of arbitrary length and generates a fixed length code.
- A hash function takes a message of fixed length and generates a code of variable length.
- A hash function may give the same hash value for distinct messages.
(A) I only
(B) II and III only
(C) I and III only
(D) II only
Hash function is defined as any function that can be used to map data of arbitrary size of data to a fixed size data.. The values returned by a hash function are called hash values, hash codes, digests, or simply hashes : Statement 1 is correct
Yes, it is possible that a Hash Function maps a value to a same location in the memmory that’s why collision occurs and we have different technique to handle this problem : Statement 3 is coorect.
eg : we have hash function, h(x) = x mod 3
Acc to Statement 1, no matter what the value of ‘x’ is h(x) results in a fixed mapping location.
Acc. to Statement 3, h(x) can result in same mapping mapping location for different value of ‘x’ e.g. if x = 4 or x = 7 , h(x) = 1 in both the cases, although collision occurs.
This solution is contributed by Mohit Gupta.
Quiz of this Question