Per tutti i miei progetti web di hobby, ho codificato un sistema di accesso condiviso da questi progetti. Non ci sono dati critici in questi progetti, gli unici dati critici potrebbero essere le password riutilizzate. Così provo ad hash password in modo molto sicuro.
L'algoritmo di hashing della password corrente non è niente che definirei davvero sicuro. E come ho visto che PHP ora offre hashing build con password_hash
, ho pensato di cambiare.
La mia domanda è: quali sono i vantaggi di cambiare per me? In termini di, quale protezione extra ottengo, quale buco (i) devo riparare, ecc.? E c'è qualcos'altro che devo fare per non renderlo estremamente insicuro?
Mi piacerebbe usare le risposte come esperienza di apprendimento per me stesso così posso insegnarlo ad altri che sono nella mia posizione.
Il mio attuale algoritmo (pseudo-codice):
Salt = "some-salt"
Repeat 1000000 times
Password = Sha512(Salt + username + Salt + Password)
So che il mio sito è vulnerabile agli attacchi temporali e le funzioni integrate di PHP lo risolverebbero.
Cos'altro è ovviamente insicuro?