Mi aplicación es un juego educativo para escuelas primarias, que no involucra dinero ni nada de valor, por lo que no me preocupa que los atacantes sofisticados tengan algún interés en esto. Sin embargo, me gustaría seguir las mejores prácticas en caso de que alguno de estos códigos termine protegiendo algo atractivo.
La seguridad consiste en valores de hash con un chile constante para producir un hash. En general, los valores son cosas como la identificación del usuario y otra información del estado, y el hash se usa para evitar la manipulación (es decir, por lo que no puede cambiar la identificación del usuario a un valor diferente y acceder a los datos de otra persona).
Por lo tanto, con el tiempo, el atacante tiene acceso a un gran conjunto de información de estado (el hash pre) y el hash, pero no la pimienta. El algoritmo hash también es del lado del servidor y es desconocido (aunque con posibilidades limitadas).
Con este conocimiento, ¿puede un atacante determinar el algoritmo de hash y hash y ser capaz de generar un hash adecuado para cualquier mensaje, rompiendo nuestra seguridad?