Genau, das ist der Sinn dabei. Der Benutzer muss das Salz auch garnicht kennen. Du musst nur im Nachhinein beim Anmelden den Salt wieder vom passwort "trennen" können und an den String hängen. So dass die beiden verschlüsselten Strings übereinstimmen.
Alternativ kannst du, wenn du nicht mit einem wechselnden Salt arbeiten willst, diesen im System hinterlegen und immer die Passwörter reinbringen. Die Funktion muss ihn dann halt kennen, wenn die Nutzereingabe verschlüsselt wird. Stimmen beide Hashes überein, so war das Passwort mit hoher Wahrscheinlichkeit richtig.
Edit: Für den sha1() String brauchst du 40 bzw. 20 Zeichen. Manual:
sha1()