Como guardar informações confidenciais de configuração do usuário (ex: senha do banco de dados)

Olá mais uma vez, hehe. Acho que a minha dúvida é meio ridícula :oops: , deve ter uma resposta muito óbvia pra isso, mas la vai: :arrow:

Vamos imaginar uma situação: Um sistema que se conecta ao banco de dados, faz as consultas, updates… No menu dele, existe um botão de configuração, onde o usuário deve inserir as configurações (nossa, é mesmo? :O) do banco, tipo usuário, senha, endereço, etc. Agora a terrivel dúvida: onde eu guardo isso :shock: ? num arquivo de marcação local com criptografia? Acho que seria meio inseguro, deve ter algo a mais pra se fazer…

Alguem pode me explicar certinho como isso funciona?

Muito obrigado :slight_smile:

Boa tarde.

Na verdade, podem haver n maneiras disso ser armazenado, depende da sua análise e necessidade.
Para o seu caso, como não estamos falando de um sistema para um banco e acessos via Web e bla bla bla…

Porque não criar uma tabela para usuário e senha e mandar criptografar o usuário e senha?!
O usuário que será o administrador do banco e sua respectiva senha você “gera na mão”, as subsequentes, serão geradas a partir de sua( s ) classe ( s ).

Quando eu falo na “mão”, é um método main que recebe o nome do usuário e sua respectiva senha e gera apresenta os valores criptografados.
Assim, mesmo que alguém tenha acesso ao banco, terá de executar uma engenharia reversa ou conhecer o método responsavél pela criptografia.

Certo?!
Abraços.

Boa tarde nel, mas no caso, então eu teria que definir o usuário e senha dentro do código, de maneira estática. Acho que funciona se for um sistema feito para uma única empresa, ou único local. Mas se for um sistema mais “geral”, digamos assim, onde qualquer pessoa pode baixar e utilizar. Ele teria que ter uma entrada dinâmica de configurações, não acha?

Muito obrigado pela sua resposta :smiley:

Na realidade, não seria algo estático.
Você teria uma classe que consegue utilizar fora do sistema e não vai envia-la junto ao seu projeto.

Seria algo “a parte”, apenas para gerar um usuário inicial ao seu sistema.
A partir desse usuário, cria-se outro usuário com status de administrador e posteriormente, basta remover o criado inicialmente, entende?

Afinal, você terá um sistema partindo do zero, portanto, de alguma forma você precisa criar um usuário e senha, seja via banco ou código.
Acredito que via arquivo seja possível, mas algo mais “arriscado”.

A realidade é que não existe 100% de segurança, a apenas níveis mais complexos.
Abraços.

Acho que o mais seguro seria guardar esses usuários no banco de dados, se você conseguir sincronizar o usuário do banco em si com
o usuário da aplicação fica mais seguro ainda, pois aí vc restringe acesso a aplicação e se ele não for usuário do bd também não acessa o banco, a maioria dos bancos oferece algoritmos de criptografia prontos para salvar alguns dados como uma senha por exemplo.