Could you elaborate on the function and importance of hash code in the realm of cryptocurrency and finance? How does it contribute to ensuring security and authenticity within transactions? Is there a specific process by which hash codes are generated, and how do they facilitate the verification of data integrity? Additionally, are there any potential vulnerabilities or limitations associated with hash code usage that practitioners should be aware of?