In generale, non dovresti farlo da solo, ma seguendo le linee guida per il sistema che stai utilizzando.
Il modo "corretto" di memorizzare le password è con un hash "unidirezionale", con "sale" e "rafforzamento delle chiavi".
Il termine "a senso unico" significa solo questo. Una volta che lo hai cancellato, non puoi mai recuperare la password da solo. Non c'è modo di recuperare la password. Tuttavia, è ancora possibile controllare se l'utente ha inserito la password corretta ripetendo l'hash su ciò che ha digitato e vedere se corrisponde a quella memorizzata nel database.
Se gli hacker rubano gli hash delle password, possono eliminarli offline.
Il crack più comune è precalcolare gli hash di una password di zillion. Quando rubano gli hash dal tuo sito, li cercano in una tabella e trovano immediatamente la password originale.
Per sconfiggerlo, "salvi" la password. Genera un testo casuale e cancella quel testo con la password. Quindi memorizzi quel sale + hash nel tuo database.
Questo costringe gli hacker a "forzare la tua password" invece di usare una "ricerca tabella". I desktop degli hacker possono calcolare 1 miliardo di hash al secondo, quindi scopriranno rapidamente le password di piccole dimensioni.
Per sconfiggerlo, hai semplicemente ripetutamente cancellato il valore. Se ripeti l'hash un migliaio di volte, l'hacker ora può testare solo un milione al secondo.
Sfortunatamente, più costoso lo fai per l'hacker, più costoso ti metti a testare le tue password. Ripetere l'hash 1000 volte è un buon compromesso tra il rallentamento dell'hacker e l'impatto sulle prestazioni del tuo server.
Un altro modo per rallentare l'hacker consiste nell'applicare regole alle password, come richiedere di avere almeno 8 caratteri e contenere numeri e simboli. La maggior parte delle password sono parole, in tutte le lettere minuscole. Ciò significa che l'hacker ha bisogno solo di testare 26 combinazioni per lettera. Se le password sono composte da lettere maiuscole e minuscole, numeri e simboli, diventano circa 100 combinazioni per lettera.
Il punto di cui sopra è quello di insegnarti tutte le complicazioni su come gli hacker attaccano le password e le cose che gli amministratori devono affrontare per difendere quelle password. Di solito, non devi preoccuparti di questo: scegli la soluzione che il sistema sottostante che stai utilizzando ha scelto per te.