Supponiamo che la mia password sia abc
. Voglio inviarlo al server tramite HTTP.
Potrei inviarlo in testo normale e lasciare che il server lo abbia hash e confrontarlo con le voci nel suo database, ma poi chiunque può vedere il traffico su quella connessione vedrebbe la password in testo normale.
Quindi potrei eseguire l'hashing lato client e lasciare che il server lo confronti senza hashing poiché è già hash (o il server potrebbe anche raddoppiare l'hash, ma nessuna differenza questa situazione). Ma poi di nuovo chiunque sia in grado di vedere il traffico vedrebbe la password con hash, quindi invierà la password con hash al server e il server la accetterebbe.
Come invio le password su HTTP? Devo implementare un algoritmo di crittografia come la crittografia a chiave pubblica RSA? O è impossibile?
Il metodo dovrebbe essere utilizzabile in qualsiasi browser.