¿Es una buena idea usar dos sales? Esto implica que uno sería único para el usuario, y otro sería único para el servidor, utilizando Bcrypt, por supuesto.
Por ejemplo, si está utilizando Golang como su backend, sería una buena idea generar una sal de 20 caracteres de / dev / random, hornearla en el binario de Golang y usarla con 20 caracteres. ¿Sales generadas desde / dev / urandom que son únicas para cada usuario? El proceso de hash se vería como userSalt + serverSalt + password = password digest
La idea detrás de esto es que incluso si un atacante obtiene acceso a su base de datos, aún no podría descifrar las contraseñas porque también necesitarían descompilar su servidor para obtener el serverSalt. Incluso si obtuvieran el serverSalt, necesitarían generar tablas de arco iris, lo que llevaría mucho tiempo debido a Bcrypt.
¡Gracias de antemano!