Criptografia e descriptografia de string em C#: maneira simples e segura
Olá a todos! Sou um desenvolvedor C# iniciante e tive um problema com criptografia de strings. Preciso salvar a senha do usuário no banco de dados de forma criptografada e, ao fazer login, descriptografá-la e compará-la com a senha inserida. Tentei usar algoritmos simples, mas o código fica complicado e, pelo que entendi, inseguro.\n\nAqui está o que escrevi:\n\n```csharp\npublic static string Encrypt(string text)\n{\n byte[] data = Encoding.UTF8.GetBytes(text);\n for (int i = 0; i < data.Length; i++)\n {\n data[i] = (byte)(data[i] ^ 0xFF); // XOR simples\n }\n return Convert.ToBase64String(data);\n}\n```\n\nMas entendo que isso é "coisa de criança" em termos de segurança. Ouvi falar sobre AES, mas não sei como usá-lo corretamente com salt, vetor de inicialização (IV) e chave.