¿Cuál es el propósito de la "sal" cuando hash?

Ok, estoy tratando de entender la razón para usar sal.

Cuando un usuario se registra, genero una sal única para él / ella que almaceno en DB. Luego lo hash y la contraseña con SHA1. Y cuando él / ella está iniciando sesión, lo re-hash consha1($salt.$password).

Pero si alguien hackea mi base de datos, puede ver la contraseña hash y la sal.

¿Es eso más difícil de descifrar que simplemente codificar la contraseña sin sal? No entiendo ...

Lo siento si soy estúpido ...

Respuestas a la pregunta(3)

Su respuesta a la pregunta