Domanda

Sto facendo applicazione desktop (consente di chiamare app) che utilizza database (MySQL). Gli utenti più di app condividono un utente del database. Esempio: John e Mike gli utenti app connettersi al DB come "dbuser", etc

.

Il problema è:?. Come faccio a efficacemente salvare le password per gli utenti di DB (PWDs di utenti app vengono memorizzati nel DB)

Le possibili soluzioni che ho trovato: 1. nel codice - questo è in realtà abbastanza stupido: D 2. Nel file INI di testo - di facile lettura! 3. crittografati nel file di extern -. Buona, ma hanno bisogno di accesso alle app

È stato utile?

Soluzione

  

(PWDs di utenti app vengono memorizzati nel DB).

Crittografare le password memorizzati utilizzando SHA1 / SHA2 algoritmo. Questa è la tecnica più utilizzata. Io non sono uno sviluppatore .NET, ma sono abbastanza sicuro che essi forniscono la funzione da qualche parte.

Quando l'utente esegue il login, crittografare nuovamente la password dato e confrontarlo con quello memorizzato. Se sono uguali, lasciare che il registro utente.

Altri suggerimenti

È possibile memorizzare nel file INI nel formato crittografato. Questo è il migliore IMHO modo. I negozi di stringa di connessione nel App.config di .NET dell'applicazione nel formato crittografato.

EDIT:

Per modificare stringa di connessione, io uso un altro valore di configurazione in AppSettings di app.config presentare CSEncryption = "Y | N | R"

se è Y, stringa di connessione è crittografata, decifrare e usarlo.

se è N, stringa di connessione non è crittografata, utilizzare direttamente.

se è R, stringa di connessione non è crittografata, cifrare e aggiornare stringa di connessione e impostare CSEncryption a 'Y' in app.config.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top