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.

Referências