Claro que puedes. Solo agrega una sal al hash existente y hash nuevamente. Por supuesto, esto requerirá que cualquier inicio de sesión futuro atraviese el mismo proceso, lo que significa que se necesitarán dos funciones de hash, pero muchos patrones legítimos lo hacen de todos modos para que no huela tan mal como podría pensar.
Saltear una contraseña es un esfuerzo para defenderse de las tablas de arcoíris. En este caso, la sal no necesita ser un secreto.
http://en.wikipedia.org/wiki/Rainbow_tables#Defense_against_rainbow_tables
En realidad se puede ver en el artículo
hash = MD5 (MD5 (password) . salt)
¿Qué es exactamente el mismo método que estaría utilizando. (Excepto una función hash diferente.)
¿Realmente tiene contraseñas hash, o algo más complejo? Debido a un error de codificación, estoy en un bote similar, pero el código original efectivamente tiene "1" + nombre de usuario + "" + contraseña, que es lo suficientemente complejo como para hacer que las tablas de arcoiris no sean factibles (especialmente porque el nombre de usuario no es usuario) seleccionado). –
Estaba cifrando la contraseña directamente. Parece que ya has agregado la sal. Tu camino parece bueno porque además de la sal, las contraseñas que son iguales no tendrán el mismo hash porque estás agregando el nombre de usuario. –