2016-04-04 25 views
2

Şu anda varsayılan olarak, ASP.NET 5'te HMAC-SHA1 olan PasswordHasherCompatibilityMode.IdentityV2 olarak ayarlanmış gibi görünüyor. Hizmetlere (DI) eklemek için PasswordHasherOptions örneğini oluşturmaya çalıştım ancak çalışmaya alamadım.ASP.NET'teki PasswordHasherCompatibilityMode.IdentityV3 nasıl ayarlanır?

V3, HMAC-SHA256, 128 bit tuzu, 256 bit alt anahtar, 10000 yineleme ile PBKDF2'yi kullanır.

Umarım bu, tüm kod zaten orada olduğundan, özel uygulama uygulamak yerine, bazı yapılandırma ayarlarının gelecekteki kadar kolay olacağını umuyorum.

Güncelleme: İlk byte arasında Eğer https://github.com/aspnet/Identity/blob/dev/src/Microsoft.AspNetCore.Identity/PasswordHasherOptions.cs

/// <remarks> 
    /// The default compatibility mode is 'ASP.NET Identity version 3'. 
    /// </remarks> 
    public PasswordHasherCompatibilityMode CompatibilityMode { get; set; } = 
      PasswordHasherCompatibilityMode.IdentityV3; 

de görebileceğiniz gibi

services.Configure<PasswordHasherOptions>(options => options.CompatibilityMode = PasswordHasherCompatibilityMode.IdentityV3);

+0

PasswordHasherOptions işlevini kaydetmeyi nasıl denediniz. 'Configure' ve' ConfigureServices' yöntemlerinizi kaydetmeye dikkat edin? – Tseng

cevap

3

varsayılan V2 olmamalı, varsayılan, yeni biçimdir karma şifresi 0x01, o zaman bir sürüm 3 hash.

Eğer 0x00 görüyorsanız ya kodunuzun başka bir yerinde yapılandırılmışsa veya bir hata varsa, bu durumda lütfen GitHub'da oturum açın.

+0

Teşekkürler, bu durum böyle görünüyor. Bunu kontrol edip geri döneceğim. – SamJackSon

+0

Maalesef, gerçekte V3 olup olmadığını nasıl doğrulayacağımı henüz anlayamadım, "Startup.ConfigureServices" içinde "PasswordHasherCompatibilityMode.IdentityV2" moduna ayarlamayı denedim, ancak yine de aynı uzunlukta, herhangi bir göstergede karma oluşturuyor ? – SamJackSon

+0

Kullandığınız kimliğin hangi sürümünün burada yapabileceğimin tam olarak olmadığını söyleyemezseniz. Her saklanan şifrede ilk bayt nedir? – blowdart