작은 범위의 정의역을 만들어주는 함수
보안을 위해 md5나 sha1을 쓰면 안되고, 속도를 위해서도 BLAKE나 murmurhash xxhash가 더 빠르다
Cryptographic Requirements
1. Pre-image resistance (One-wayness)
Given a hash it should be difficult to find
2. Second pre-image resistance (Weak collision resistance)
Given input it should be difficult to find
3. (Strong) Collision resistance
It should be difficult to find two messages such that having same hash

