Скорее всего, вам нужно добавить
services.AddIdentity<IdentityUser, IdentityRole>(config =>
{
config.Password.RequireNonAlphanumeric = false; //optional
config.SignIn.RequireConfirmedEmail = true; //optional
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
в ваш метод ConfigureServices
в Startup.cs
Для любой хорошей хеш-функции отдельные биты должны быть приблизительно случайными. Таким образом, вы должны быть в безопасности, используя только первые 32 бита хэша MD5.
В качестве альтернативы вы также можете использовать CRC32, который должен быть вычислен намного быстрее (а код занимает около 20 строк).
Другими словами, это первые 32 бита хеша md5 так же "случайный", как и любой другая подстрока?
Да. Если бы ответ был отрицательным, MD5 не был бы достаточно безопасным. (конечно, у него есть незначительные криптографические недостатки, но я не знаю никаких статистических)