È una buona idea usare due sali? Ciò implica che uno sarebbe unico per l'utente e uno sarebbe unico per il server, utilizzando ovviamente Bcrypt.
Quindi, ad esempio, se stai usando Golang come back-end, sarebbe una buona idea generare un lungo sale di 20 caratteri da / dev / random, infornarlo nel binario di Golang e usarlo con 20 caratteri di lunghezza sali generati da / dev / urandom che sono unici per ciascun utente? Il processo di hashing sarà simile a userSalt + serverSalt + password = password digest
L'idea alla base di questo è che anche se un utente malintenzionato accede al tuo database, non sarebbe comunque in grado di decifrare le password perché avrebbero anche bisogno di decompilare il tuo server per ottenere il server Salt. Anche se avessero il server Salt, avrebbero quindi bisogno di generare tabelle arcobaleno, il che richiederebbe molto tempo a causa di Bcrypt.
Grazie in anticipo!