What’s the Difference Between Black Hat, White Hat, and Gray Hat Hackers?

Test your terminology—can you define them all and share real-world examples?