SQLite con cifrado/protección con contraseña

Resuelto ahmd0 asked hace 13 años • 9 respuestas

Recién estoy aprendiendo a usar SQLite y tenía curiosidad por saber si eso es posible:

  1. ¿Cifrado del archivo de base de datos?

  2. ¿Proteger con contraseña la apertura de la base de datos?

PD. Sé que existe esta "Extensión de cifrado SQLite (SEE)", pero según la documentación, "SEE es software con licencia..." y "El costo de una licencia de código fuente perpetua para SEE es de 2000 dólares estadounidenses".

ahmd0 avatar Apr 15 '11 04:04 ahmd0
Aceptado

Aquí hay algunas implementaciones:

  • SQLite Encryption Extension (SEE) : la implementación oficial (comercial)
  • SQLite3 Multiple Ciphers : una extensión de cifrado para SQLite compatible con múltiples cifrados (código abierto, documentación aquí )
  • SQLCipher : utiliza libcrypto de openSSL para implementar el cifrado (versión comercial de código abierto disponible aquí )
  • SQLiteCrypt : implementación personalizada, API modificada (comercial)
OliJG avatar May 04 '2011 00:05 OliJG

NOTA: Esta respuesta está desactualizada. El códec CryptoAPI de System.Data.SQLite es un legado no compatible. Mira aquí .


La biblioteca .NET System.Data.SQLite puede proteger con contraseña una base de datos SQLite3. Por primera vez antes de realizar cualquier operación, configure la contraseña de la siguiente manera.

SQLiteConnection conn = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
conn.SetPassword("password");
conn.open();

Entonces la próxima vez podrás acceder a él como

conn = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;Password=password;");
conn.Open();

Esto no permitirá que ningún editor de GUI vea sus datos. Más adelante, si desea cambiar la contraseña, utilice conn.ChangePassword("new_password"); Para restablecer o eliminar la contraseña, utiliceconn.ChangePassword(String.Empty);

Mangesh avatar Jun 22 '2014 08:06 Mangesh