ASP.NET Core Identity usa o PBKDF2 com HMAC-SHA256 para segurança de senhas. Isso envolve um salt de 128 bits, uma subchave de 256 bits e 10.000 repetições. Embora você possa configurar, muitos ficam com o padrão. Apesar de aprovado por FIPS e NIST, o PBKDF2 pode ser fraco contra o poder dos GPUs modernos.
Alternativas
Na criptografia, Argon2, Scrypt e BCrypt são boas opções. Argon2 é o preferido do OWASP por ser mais seguro contra ataques de hardware.
Usando o Argon2
Crie um projeto ASP.NET Core, escolha Web Application (Model-View-Controller) e configure para contas de usuário individuais. Instale o componente JpProject.AspNetCore.PasswordHasher.Argon2 via Nuget. Altere o método ConfigureServices(IServiceCollection services)
no Startup.cs
para usar Argon2 para senhas.
Usando o Bcrypt
Crie um novo projeto igual e use o componente JpProject.AspNetCore.PasswordHasher.Bcrypt. Ajuste o Startup.cs
para usar Bcrypt no projeto.
Usando o Scrypt
Repita os passos acima com o componente JpProject.AspNetCore.PasswordHasher.Scrypt para usar o Scrypt para senhas.
Conclusão
Escolher o algoritmo de hash é importante para a segurança das suas aplicações. As bibliotecas de Criptografia em C# ajudam na implementação, mas entender as diferenças entre elas é essencial. Espero que este guia ajude e torne o aprendizado mais agradável.