add more unittest suite, extract the common hasher under utils folder