Do-it-yourself is a great way to learn coding, but it's a risky way to tackle complex application problems that have scant room for error, such as authentication and encryption. A new vulnerability ...