Posso senha criptografar database SQLite?

Eu estou usando o database SQLite versão 3 com o aplicativo C # Windows … Eu quero criptografar o arquivo de database SQLite usando senha ou qualquer outra maneira de criptografia, a fim de impedir que os clientes abri-lo da pasta de arquivos de programa.

Eu não quero quaisquer formas de criptografia de tempo de execução, eu só quero fazer o arquivo de database mostrar o campo de senha quando um cliente tentar abri-lo a partir dos arquivos de programa .. obrigado

Editar

e se eu cifrei-lo a partir do código, o cliente pode abri-lo quando a instalação completa e arquivo db transferido para os arquivos de programa antes de abrir o programa para executar a criptografia não é?

    Eu uso SQLite versão 3 funciona perfeitamente! Você tem que fazer isso:

    //if the database has already password try{ string conn = @"Data Source=database.s3db;Password=Mypass;"; SQLiteConnection connection= new SQLiteConnection(conn); connection.Open(); //Some code connection.ChangePassword("Mypass"); connection.Close(); } //if it is the first time sets the password in the database catch { string conn = @"Data Source=database.s3db;"; SQLiteConnection connection= new SQLiteConnection(conn); connection.Open(); //Some code connection.ChangePassword("Mypass"); connection.Close(); } 

    a partir de então, se o usuário tentar abrir o database. diria protegido pelo Admin ou o database é criptografado ou não é um database ou arquivo corrompido!

    Encontrado neste fórum um post indicando que ..

    Standard SQLite3 API doesn't offer any form of protection and relies only on underlying OS privileges mecanism (if any) for "security". If you have an existing SQLite-style database which uses a specific API to gain access, then you should use this particular (non-standard) API.

    Se você pode / quer usar algum tipo de extensão para SQLite você também pode tentar SQLite Encryption Extension (SEE) ou SQLite Crypt

    Mas você pode alterar / definir uma senha para seu database usando SQLite.Data, conforme mostrado neste artigo .

    Infelizmente, a senha no arquivo SQlite pode ser adicionada ou removida ou alterada apenas do código. Para isso, você precisa do namespace System.Data.SQLite que fornecerá a você methods, bem como adaptadores e conexões para fazer isso.

    Tente sqlitestudio.pl como editor.
    Para Tipo de database, escolha System.Data.SQLite durante a conexão.

    Você pode usar a criptografia interna do provedor sq-lite .net (System.Data.SQLite). tente isto:

    http://sqlite.phxsoftware.com/forums/t/130.aspx insira a descrição do link aqui

    Ou use:

    API SQLiteCrypt