Pregunta

Está bien así que aquí está mi problema. Estoy trabajando un motor de juego que con el tiempo será multicapa. este motor permite que los juegos sean escritos en cualquier lenguaje .NET o Lua (el construido en el motor de scripting). Para mayor seguridad, sin embargo me gustaría evitar que las personas puedan ver estos archivos y por supuesto evitar que la edición de ellos. Mi solución era hacer un sistema de archivos virtual con encabezados encriptados. De esta manera sería difícil descubrir el contenido de los archivos de datos del juego, y si de alguna manera alguien lo hiciera, no sería capaz de editarlos sin la clave de lo contrario, no sería válida.

Otro problema con el juego actual es que se conecta a un conjunto de datos SQL para obtener ciertos datos, esto significa que la cadena de conexión de base de datos y la contraseña se almacena dentro de la aplicación.

Sin embargo, ¿cómo hacer frente al almacenamiento de contraseñas dentro de una aplicación .Net? Sé que es un hecho de que pueden ser decompilados y no tendría sentido para almacenar las claves secretas dentro de un archivo de configuración puede leer cómo lo hacen la mayoría de los profesionales lo hacen?

¿Fue útil?

Solución

Normalmente, las aplicaciones cliente no se conectan directamente a la base de datos. En cambio, el conectar con un servidor que maneja las llamadas remotas en nombre de la aplicación. En tal escenario, la única cosa que necesita la contraseña de la base de datos, es el servidor.

En el mundo moderno .Net el servidor se construye generalmente usando WCF

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top