Qui: Aiuta a capire l'autenticazione dell'utente di base con i sali e hashing
Lo spiegano abbastanza bene, ma sto ancora cercando di capire questa parte ...
Now, when a user comes to log in again they submit their username and password in the form. You then want to see if they are in the table so you then:
1) Look up the supplied username in your database and return the hash and the salt
2) Take the provided username and rerun the hashing function using the salt obtained in 1 to do somehting like hash(salt+password submit on form)
3) If the hash generated in 2, matches the on retrieved from the database in 1 then you know they provided the correct password
Il lato client dell'applicazione esegue l'hash memorizzato (pw + sale), lo invia su ssl / tls al server e poi controlla se corrisponde a quello sul server? se è così, come prendiamo il sale? Va bene inviarlo da server a client in testo semplice su ssl / tls?
O mandiamo la password dal client-side al server in testo normale su ssl / tls e poi generiamo l'hash (pw + salt) sul lato server da quel momento in poi verificheremo se corrisponde?