I have been experimenting with a dictionary-based encoding system for this kind of data - https://neftaly.github.io/radixWord/
To prevent a similar-looking-fingerprint attack, you could just re-hash the fingerprint with a secret salt before displaying. I wonder if XOR'ing the fingerprint against a plain hash of itself could also be difficult enough?