Pregunta

Estoy haciendo aplicación de escritorio (le llaman aplicación), que utiliza la base de datos (MySQL). Más usuarios de aplicaciones comparten un usuario de base de datos. Ejemplo: los usuarios de aplicaciones John y Mike conectarse a DB como "dbuser", etc.

.

El problema es:?. ¿Cómo hacer yo efectivamente guardar las contraseñas de los usuarios de base de datos (PCD de Usuarios de la aplicación se almacenan en DB)

Las posibles soluciones que encontré: 1. en el código - esto es realmente muy estúpida: D 2. En el archivo INI texto - fácil de leer! 3. cifrada en el archivo externo -. Bueno, pero el acceso necesidad de aplicación

¿Fue útil?

Solución

  

(PCD de Usuarios de la aplicación se almacenan en DB).

Cifrar almacena contraseñas usando SHA1 / SHA2 algoritmo. Esta es la técnica más utilizada. No soy un desarrollador .NET, pero estoy bastante seguro de que proporcionan la función de alguna parte.

Cuando usuario inicia sesión, cifrar de nuevo la contraseña proporcionada y compararlo con la almacenada. Si son iguales, dejar que el usuario se conecte.

Otros consejos

Se puede almacenar en el archivo INI en el formato cifrado. Eso es lo mejor en mi humilde opinión camino. Me tiendas de cadena de conexión en la aplicación App.config de .NET en el formato cifrado.

EDIT:

Para cadena de conexión de edición, utilizo otro valor de configuración en AppSettings de app.config archivo CSEncryption = "Y | N | R"

si es Y, cadena de conexión está cifrado, descifrado y utilizarlo.

si es N, cadena de conexión no está cifrada, utilizar directamente.

si es R, cadena de conexión no está cifrada, cifrar y actualización cadena de conexión y el conjunto de CSEncryption a 'Y' en app.config.

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