Best way to uniquely hash an array of undefined length? - C#