Implementazione di bcrypt pronta per la produzione per .NET

8

Quali, se esistono, le implementazioni .NET / C # bcrypt sono considerate idonee per gli ambienti di produzione?

Ho visto CryptSharp e BCrypt.Net menzionati nelle risposte ad altre domande, ma senza alcuna discussione su quanto ampiamente sono utilizzati o quanto potrebbero essere stati rivisti.

    
posta broccoli_soup 29.08.2012 - 07:13
fonte

2 risposte

2

C # condivide con Java una caratteristica notevole, che è essere riproducibile . Questo è il motto di Java "scrivi una volta, corri ovunque". Non è completamente vero, ma per codice che:

  1. non utilizza i tipi a virgola mobile;
  2. è puro calcolo (senza chiamate di sistema);
  3. è monofilamato;

allora i test sono efficaci. Ciò significa che puoi prendere l'implementazione BCrypt.NET e vedere se è compatibile con il codice di riferimento . Abbi cura di includere test con caratteri di password non ASCII, che spesso sono un punto dolente. Inoltre, misurare le prestazioni per assicurarsi che l'implementazione .NET non sia eccessivamente lenta (per questo tipo di attività computazionali, il codice Java o .NET può essere previsto da 2 a 4 volte più lento del codice C).

Se l'implementazione .NET è compatibile con il codice di riferimento e le sue prestazioni non sono abissali, allora l'aspetto "risultati riproducibili" di C # /. NET ti consentirà di concludere che è pronto per la produzione.

    
risposta data 24.02.2013 - 05:01
fonte
1

Sono consapevole che questo in realtà non risponde alla tua domanda, ma bcrypt non è (secondo me) il miglior meccanismo di hashing della password.

Puoi trovare un'implementazione c # di un meccanismo di hashing della password utilizzando PBKDF2 qui: CrackStation

Anche se è molto più giovane, ho sentito cose positive su scrypt TarSnap scrypt Purtroppo non ho avuto un sacco di successo nel trovare una buona implementazione .net.

    
risposta data 31.08.2012 - 20:05
fonte

Leggi altre domande sui tag