package Ġjp . co . sor am its u . fe ar less _ utils . hash Ċ Ċ import Ġnet . j po unt z . xx hash . XX Hash 6 4 Ċ import Ġjava . nio . ByteBuffer Ċ import Ġjava . nio . Byte Order Ċ Ċ class ĠXX Hash ( ĊĠĠĠ Ġhash Length Bits : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġxx Hash 6 4 : ĠXX Hash 6 4 Ċ ) Ġ{ ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( hash Length Bits Ġ% Ġ 6 4 Ġ== Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġhash Length Bytes Ġ= Ġhash Length Bits Ġ/ Ġ 8 ĊĊĠĠĠ Ġprivate Ġval Ġtimes To Repeat Ġ= Ġhash Length Bits Ġ/ Ġ 6 4 ĊĊĠĠĠ Ġfun Ġhash ( byteArray : ĠByteArray ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteBuffer . allocate ( hash Length Bytes ) ĊĠĠĠĠĠĠĠ Ġbuffer . order ( Byte Order . LIT TLE _ ENDIAN ) ĊĊĠĠĠĠĠĠĠ Ġ( 0 Ġuntil Ġtimes To Repeat ). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġxx Hash 6 4 . hash ( byteArray , Ġseed Ġ= Ġit . to Long ()) ĊĠĠĠĠĠĠĠ Ġ}. on Each ( buffer :: put Long ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġbuffer . array () ĊĠĠĠ Ġ} Ċ } Ċ