2014-07-15 18 views
6

Che tipo di algoritmo utilizza il framework Asp.Net Identity per crittografare la password? Ho uno scenario in cui Android, iPhone, Web e desktop utilizzano lo stesso database. Questa password deve essere crittografata, quindi in ASP.NET MVC ho utilizzato il framework Identity per crittografare la password. Ora ho bisogno che l'algoritmo funzioni per tutte le piattaforme.Quale algoritmo utilizza Asp.net Identity per crittografare la password?

Qualsiasi aiuto sarà apprezzato.

Grazie in anticipo.

+0

MD5 per Hashing e SHA1 per Crittografia. –

+0

Questa domanda è troppo ampia, ASP.NET come framework contiene implementazioni di molti algoritmi crittografici, ma l'utilizzo del codice specifico, mac di KDF è definito a livello del prodotto specifico. –

+0

@OlegEstekhin http://msdn.microsoft.com/en-us/library/system.security.cryptography.hmacsha1(v=vs.110).aspx FYIP Per crittografia SHA1. –

risposta

14

L'identità di ASP.NET utilizza Password-Based Key Derivation Function 2 (PBKDF2) come implementato da Rfc2898DeriveBytes. È un algoritmo di hashing.

Si noti che encryption and hashing are different.

public static string HashPassword(string password) 
{ 
    byte[] salt; 
    byte[] bytes; 
    if (password == null) 
    { 
     throw new ArgumentNullException("password"); 
    } 
    using (Rfc2898DeriveBytes rfc2898DeriveByte = new Rfc2898DeriveBytes(password, 16, 1000)) 
    { 
     salt = rfc2898DeriveByte.Salt; 
     bytes = rfc2898DeriveByte.GetBytes(32); 
    } 
    byte[] numArray = new byte[49]; 
    Buffer.BlockCopy(salt, 0, numArray, 1, 16); 
    Buffer.BlockCopy(bytes, 0, numArray, 17, 32); 
    return Convert.ToBase64String(numArray); 
} 
+0

La tecnica di crittografia è in effetti SHA1 controlla il riferimento msdn che hai fornito. –

+0

Per quanto ho capito, l'uso di SHA1 è solo una parte del processo, che è quello di usare * un generatore di numeri pseudo-casuali basato su HMACSHA1 *. –

+0

sì, questo è ciò che l'OP ha richiesto per quale tecnica di crittografia e non l'hash usando il sale ecc. –

Problemi correlati