public override int GetHashCode() { byte[] source = this.GetByteArray(); int hash = 0; for (int index = 0; index < source.Length; index++) { hash += (index + 1)*source[index].GetHashCode(); } return hash; }