#119 Pero es que el salt que le añades será genérico. Eso se hace muchas veces y en el propio javascript puedes ver el salt sobre el que realizar el hash con la contraseña xD. Realmente, el cifrado asimétrico se inventó para problemas como este, donde la intereceptación de una parte de los datos, puede ser crítica.
Además, el mero hecho de utilizar hashes es bastante poco seguro, se puede sacar fácil con bruteforce. O usas AES, RSA, etc., o estás jodido xD. Y aún así, si la contraseña no es buena, analizando la entropía de la máquina que generó el par de claves, y sabiendo dos o tres cosillas de ella (es corta, no tiene símbolos especiales ni mayúsculas...) te usan una red grande computacional, aplican los datos mediante fuerza bruta, y en unas semanas/meses te la sacan igual xD.
#113 Le puedes dar la vuelta de igual manera, no cambia nada. Con fuerza bruta sacas el primer hash y con otra operación igual sacas el segundo, especialmente porque tras el primero, sabrás cual es el salt del segundo (por lo que viene siendo redundante hacer dos cifrados).
No uséis hashes para cosas que requieran de gran seguridad, o terminaréis viendo las consecuencias.