All hash functions are determinstic. It’s part of their definition
I would use MD5 for this, since it’s fast. There’s no need to use a cryptographic hash. If you’re concerned about collisions, you can use a secret salt to make it hard for an attacker to create collisions.
Use the entire hash, it reduces the probability of collisions