Implement #17: Using bcrypt instead of md5 for password storage