He movido esta pregunta de stackoverflow a este lugar. Sé que puede tratarse de una "opinión", pero no busco una opinión privada, sino una fuente de la decisión final para mantenerlo de esta manera.
Me han enseñado que nadie intenta abrir una puerta cuando uno no sabe que la puerta existe. La mejor defensa sería entonces esconder una puerta. Se podía ver fácilmente en las viejas películas de guerra, nadie mantendría un escondite en la luz. Siempre se cubrió con algo que sugiere que "no hay nada interesante allí".
Supondría que en la criptografía funcionaría de la misma manera. ¿Por qué entonces el hash generado por MD5 comenzó a partir de $ 1 $, y al decir qué es un hash en primer lugar, y luego qué tipo de hash es (MD5)?
Ahora, veo que sha512 hace exactamente lo mismo. ¿No es una debilidad por sí misma? ¿Hay alguna razón en particular por la que lo haríamos de esta manera?
La pregunta principal es: ¿Debo mezclar mi hash antes de almacenarlo para ocultarlo de un enemigo potencial? Si no hay necesidad de eso, ¿por qué?
Para evitar respuestas que sugieran que la oscuridad no es seguridad, propondría esta imagen. Es la segunda guerra mundial. Acabas de recibir un indicio de que SS está llegando a tu casa, sospechando que estás ocultando partidarios, y esto es cierto. No tienen tiempo para escapar. Tienes dos opciones donde puedes esconderlos: en la mejor caja fuerte del mundo, o en el agujero escondido debajo del piso, tan bien escondido que incluso tus padres no sospecharían que está allí. Cual es tu propuesta? ¿Te convencerías de que la mejor opción segura es la mejor?
Si sé que hay un tesoro escondido en una isla, me gustaría saber qué isla es o no comenzaré a buscar.
Todavía no estoy convencido. Chris Jester-Young hasta ahora me dio algo en qué pensar cuando sugirió que puede haber más algoritmos que generen el mismo hash a partir de diferentes datos.