Pergunta

Estou fazendo um aplicativo de desktop (vamos chamar de aplicativo) que usa o banco de dados (MySQL). Mais usuários do aplicativo compartilham um usuário de banco de dados. Exemplo: os usuários de John e Mike App se conectam ao DB como "dbuser", etc.

O problema é : Como economizo efetivamente senhas para usuários de banco de dados? (Os PWDs dos usuários do aplicativo são armazenados no banco de dados).

Possíveis soluções que encontrei: 1. No código - isso é realmente muito estúpido: D 2. No arquivo INI Text - fácil de ler! 3. Criptografado no arquivo externo - bom, mas precisa de acesso ao aplicativo.

Foi útil?

Solução

(Os PWDs dos usuários do aplicativo são armazenados no banco de dados).

Criptografar senhas armazenadas usando SHA1/SHA2 algoritmo. Esta é a técnica mais usada. Não sou um desenvolvedor .NET, mas tenho certeza de que eles fornecem a função em algum lugar.

Quando o usuário faz login, criptografar novamente a senha fornecida e compare -a com a armazenada. Se eles forem iguais, deixe o usuário fazer login.

Outras dicas

Você pode armazená -lo no arquivo ini no formato criptografado. Essa é a melhor maneira de IMHO. Eu armazena a string de conexão no app.config do aplicativo .NET no formato criptografado.

EDITAR:

Para editar a string de conexão, eu uso outro valor de configuração em appsettings do arquivo app.config csencryption = "y | n | r"

Se for y, a sequência de conexão é criptografada, descriptografando e use -a.

Se for n, a string de conexão não será criptografada, use -a diretamente.

Se for r, a string de conexão não será criptografada, criptografa -a e atualize a string de conexão e defina a CSENCRYTION como 'y' no app.config.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top