Sto aiutando il mio amico con l'hashing delle sue password, e ho una domanda - Dovrebbe usare una stringa segreta come sale per l'hashing o è meglio avere ogni utente il proprio sale per l'hashing?
Considera questi tre hash:
hash("secretKey777" + password);
hash("secretKey777" + username + password);
hash(username + password);
Qual è il più difficile da decifrare e il più sicuro?
Penso che sia meglio usare hash("secretKey777" + username + password);
perché per ogni utente non solo ha "secretKey777" come sale ma anche il suo nome utente. Nel caso in cui il codice cancella le perdite delle password, non ci sarà alcun attacco su tutti gli hash in una volta - ognuno avrà il suo sale unico.