title: How are software license keys generated?
body: <p>License keys are the defacto-standard as an anti-piracy measure. To be honest, this strikes me as <a href="http://en.wikipedia.org/wiki/Security_through_obscurity" rel="noreferrer">(in)Security Through Obscurity</a>, although I really have no idea how license keys are generated. What is a good (secure) example of license key generation? What cryptographic primitive (if any) are they using? Is it a message digest? If so, what data would they be hashing? What methods do developers employ to make it difficult for crackers to build their own key generators? How are key generators made?</p>