Un article che mi sono imbattuto qui a SO forniti i collegamenti per other articles che a sua volta fornito i link a evenmorearticles eccCome memorizzare le password * correttamente *?
E alla fine mi è stato lasciato completamente perplesso - quindi qual è il modo migliore per conservare password nel DB? Da quello che posso mettere insieme dovresti:
- Utilizzare un lungo (almeno 128 bit completamente random), che viene memorizzato in testo normale accanto alla password;
- Utilizzare diverse iterazioni di SHA-256 (o anche maggiore livello SHA) sulla password salata.
Ma ... più leggo sulla crittografia e più mi rendo conto che non capisco davvero nulla, e che le cose che avevo pensato per essere vero per gli anni sono in realtà sono flat out sbagliato. Ci sono esperti in materia qui?
Aggiunto: Sembra che ad alcune persone manchi il punto. Ripeto l'ultimo link sopra riportato. Questo dovrebbe chiarire le mie preoccupazioni.
https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2007/july/enough-with-the-rainbow-tables-what-you-need-to-know-about-secure-password-schemes/
Hai esattamente ragione. Non memorizzare le password - memorizza gli hash delle password. Qual è la tua vera domanda? Quale parte della salatura e dell'hashing è confusa? O sei semplicemente infelice perché questo è nuovo per te? Che consiglio contraddittorio hai trovato? –
è per la convalida dell'utente nel tuo programma o stai cercando di creare un gestore di password in cui devi restituire la password? – Audioillity
Non c'è una risposta 'corretta'. Il livello di sicurezza dipende molto dal contesto dell'applicazione. Una macchina isolata (non fisicamente connessa a una rete) può avere meno hashing delle password rispetto a un database con connessione Web. Inoltre, il tuo database non dovrebbe mai essere direttamente accessibile alla rete, dovrebbe esserci sempre un livello di accesso tra l'utente e il database. E l'hashing/salting delle password è inutile se la password viene inviata al database/livello di accesso in formato di testo normale. – Skizz