La question est simple
Ce que j'ai est:
Ce dont j'ai besoin, c'est:
mkdir ~/bld; # Build will occur in a sibling directory
cd ~/bld; # Change to the build directory
../sqlcipher/configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto";
#configure sqlcipher
make install; # Install the build products
$ cd ~/;
$ ./sqlcipher encrypted.db
sqlite> PRAGMA key = 'testkey';
sqlite> ATTACH DATABASE 'plaintext.db' AS plaintext KEY ''; -- empty key will disable encryption
sqlite> SELECT sqlcipher_export('plaintext');
sqlite> DETACH DATABASE plaintext;
Recherchez la base de données déchiffrée sur ~/plaintext.db que vous pouvez utiliser avec n’importe quel navigateur sqlite tel que this .
http://sqlitebrowser.org supporte maintenant les bases de données sqlcipher. C'est chouette.
Ce script shell décrypte une base de données SQLCipher appelée mydb.db et en crée une appelée mydb-decrypt.db. Les paramètres sont $ 1 = clé, $ 2, chemin d'accès en lecture et en écriture.
#!/bin/bash
echo "Decrypting $2 using key $1"
echo "PRAGMA key='$1';select count(*) from sqlite_master;ATTACH DATABASE '$2/mydb-decrypt.db' AS plaintext KEY '';SELECT sqlcipher_export('plaintext');DETACH DATABASE plaintext;" | sqlcipher $2/mydb.db
echo "Done."
Si vous vouliez faire cela en une seule ligne de commande, voici les entrailles:
echo "PRAGMA key='$1';select count(*) from sqlite_master;ATTACH DATABASE '$2/mydb-decrypt.db' AS plaintext KEY '';SELECT sqlcipher_export('plaintext');DETACH DATABASE plaintext;" | sqlcipher $2/mydb.db
En me basant sur les réponses précédentes, j'ai une réponse complète. J'ai la configuration - version OS X - 10.10.4 Étapes: 1. Téléchargez et construisez le code OpenSSL:
$ curl -o openssl-1.0.0e.tar.gz https://www.openssl.org/source/openssl-1.0.0e.tar.gz
$ tar xzf openssl-1.0.0e.tar.gz
$ cd openssl-1.0.0e
$ ./Configure darwin64-x86_64-cc
$ make
Dans un autre répertoire,
$ git clone https://github.com/sqlcipher/sqlcipher.git
$ cd sqlcipher
Remplacez '/path/to/libcrypto.a' dans la commande suivante par votre chemin
$ ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="/path/to/libcrypto.a"
$ make
Décrypter en base de données en texte brut (comme illustré dans le post précédent de Vinay)
$ cd ~/;
$ ./sqlcipher encrypted.db
sqlite> PRAGMA key = 'testkey';
sqlite> ATTACH DATABASE 'plaintext.db' AS plaintext KEY ''; -- empty key will disable encryption
sqlite> SELECT sqlcipher_export('plaintext');
sqlite> DETACH DATABASE plaintext;
Cela devrait vous aider à déchiffrer le fichier crypté ...