none
Esconder Connection String do App.Config RRS feed

  • Pergunta

  • Bom dia galera do MSDN ! Utilizo Visual Studio 2010, Windows Form, linguagem C#

    Criei minhas ConnectionStrings dentro do App.Config. Dentro da pasta Debug a aplicação cria um arquivo .config onde podemos editar como um arquivo txt comum. Certo ? Dentro deste arquivo vem o caminho da máquina, nome e senha do BD, até ai beleza.

    Gostaria de saber como eu faço para esconder/criptografar esta senha nesse arquivo para que seja possível mudar APENAS o caminho do Banco de Dados.

    Ou então, que minha aplicação leia a senha direto na linha de código, e não neste arquivo, alguma dica?

    Tentei ser o mais claro possível, mas acho que não fui muito bem sucedido hehe =x

    Agradeço atenção de todos !

    Exemplo

    <?xml version="1.0"?>
    <configuration>
      <configSections>
      </configSections>
      <connectionStrings>
        <add name="Captura.Properties.Settings.crdoresConnectionString"
          connectionString="server=192.xxx.xxx.xxx;User Id=root;password=SENHADOBANCO;database=NomeDoBanco"
          providerName="MySql.Data.MySqlClient" />
        <add name="DoresTeste.Properties.Settings.crdoresConnectionString"
          connectionString="server=192.xxx.xxx.xxx;User Id=root;password=SENHADOBANCO;database=NomeDoBanco"
          providerName="MySql.Data.MySqlClient" />
      </connectionStrings>
      <appSettings>
        <add key="hostDB" value="192.xxx.xxx.xxx" />
        <add key="bancoDB" value="NomeDoBanco" />
        <add key="bancoDB_fotos" value="NomeDoBanco_Fotos" />
        <add key="ClientSettingsProvider.ServiceUri" value="" />
      </appSettings>


    • Editado Alan Naidon quarta-feira, 21 de novembro de 2012 12:43
    quarta-feira, 21 de novembro de 2012 11:59

Respostas

  • Caso alguém encontre este tópico com a mesma dúvida que a minha. Aqui vai a resposta que eu achei e estou estudando e testando neste exato momento !

    http://www.juliobattisti.com.br/tutoriais/mauricioborges/criptografiaweb001.asp

    Obrigado por responder CarlosEduardo Ferreira =) Abraço velho !

    • Marcado como Resposta Alan Naidon quarta-feira, 21 de novembro de 2012 17:44
    quarta-feira, 21 de novembro de 2012 17:34

Todas as Respostas

  • Alan,

    Segue um exemplo de como encriptar a connectionstring do web.config.

    http://www.iislogs.com/articles/encryptedconnstring/ 

    Abraço,


    Carlos Eduardo Ferreira


    quarta-feira, 21 de novembro de 2012 12:29
  • Alan,

    Segue um exemplo de como encriptar o web.config.

    http://www.iislogs.com/articles/encryptedconnstring/ 

    Abraço,


    Carlos Eduardo Ferreira

    Eu uso WindowsForms , serve também ? :S

    Assim. Eu podia simplesmente inserir a senha manualmente na Connection... Para os meus métodos... Mas também tenho um ReportViewer alimentado com um DataSet Tipado, e ali não sei onde por a senha no codigo =s somente no app.config

    quarta-feira, 21 de novembro de 2012 12:32
  • Dê uma olhada nesse artigo:

    http://weblogs.asp.net/jgalloway/archive/2008/04/13/encrypting-passwords-in-a-net-app-config-file.aspx



    Carlos Eduardo Ferreira

    quarta-feira, 21 de novembro de 2012 12:39
  • Caso alguém encontre este tópico com a mesma dúvida que a minha. Aqui vai a resposta que eu achei e estou estudando e testando neste exato momento !

    http://www.juliobattisti.com.br/tutoriais/mauricioborges/criptografiaweb001.asp

    Obrigado por responder CarlosEduardo Ferreira =) Abraço velho !

    • Marcado como Resposta Alan Naidon quarta-feira, 21 de novembro de 2012 17:44
    quarta-feira, 21 de novembro de 2012 17:34