Tengo un servicio de Windows que se conecta a una base de datos para sondear un valor con el fin de monitorear cierta actividad.
Por supuesto, para usar esto necesito una contraseña de base de datos. Necesito mantener esta contraseña segura, ya que, por supuesto, no se supone que sea de conocimiento general. Para hacer esto, he desarrollado un simple cifrado XOR y he almacenado el texto cifrado en el archivo de configuración. La clave que he usado para el cifrado por ahora se ha codificado en el servicio.
Por supuesto, esta codificación no es ideal, ya que alguien puede desensamblar el archivo .exe y ver tanto la clave como el cifrado.
No espero que la mayoría de las personas sean capaces de hacer esto, pero creo que es mejor mitigar el riesgo cuando sea posible. Entonces, ¿hay tal vez un mejor enfoque para este problema?
Sé que siempre es mejor usar una solución existente cuando sea posible, pero no pude encontrar nada específicamente que funcionara en este caso. Miré la API de protección de datos de Windows, pero por lo que pude ver, solo funcionó en una instancia de una aplicación. No me permitiría almacenar el texto cifrado en un archivo y acceder a él más tarde.