Please reference this answer for a correct implementation of the GetHashCode(), as it's suitable for your question as well.
As for your second part of the question, it should work fine as the bitwise xor (^) is commutative, meaning you'll get same result regardless of order of operations.
However, the question arises, are you just going to put your vectors into Hashmaps or do you have some different spatial hashing approach in mind?