En primer lugar, todas las contraseñas almacenadas deben incluirse con un sal pseudoaleatorio diferente. En segundo lugar, SHA-256 no es apropiado para almacenar contraseñas; en su lugar, desea utilizar un algoritmo de clave , como ya se ha mencionado. Hay muchos más detalles en Crackstation .
Un hash encriptado también se llama un hash con clave, y la clave a veces se llama "pimienta". No es necesario que haya un paso de cifrado separado. En cambio, la clave secreta es parte de la entrada a la función hash. Eso puede mejorar la seguridad de alguna manera. Hay dos maneras en que los atacantes pueden obtener una copia de sus hashes de contraseña. Una es comprometer el mecanismo de almacenamiento, como ocurre con la inyección SQL. En ese caso, un hash con clave puede hacer que sea imposible recuperar efectivamente las contraseñas de texto sin formato de los hashes porque la clave se puede compilar en un programa o mantener fuera del mecanismo de almacenamiento de contraseñas. La otra forma es comprometer el propio sistema operativo. En ese caso, la clave está comprometida y ya no es un impedimento contra los intentos de atacar las contraseñas.
Entonces, la respuesta corta es sí, pero primero debes hacer el trabajo subyacente correctamente.