Package Exports
- sqlite-cipher
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sqlite-cipher) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme

Contents
Module to handle encrypted sqlite databases
Install
To install this module open your prompt or terminal and run:
npm install sqlite-cipher
#Usage You can open encrypted database file or create a new also encrypted. And you can encrypt or decrypt an existent file.
connect(file, password)
Opening a encrypted database file or creating a new.
var sqlite = require('sqlite-cipher'); //requiring
//Connecting - (databaseFile, [password], [algorithm])
sqlite.connect('test/Database.enc','myPass','aes-256-ctr');
//Creating Table - you can run any command
sqlite.run("CREATE TABLE COMPANYS(ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL);");
//Inserting - this function can be sync to, look the wiki
sqlite.insert("COMPANYS",{NAME:"COMPANY"}, function(inserid){
console.log(inserid);
});
//Updating - returns the number of rows modified - can be async too
var rows_modified = sqlite.update("COMPANYS",{NAME:"TESTING UPDATE"},{ID:1});
//Create your function
function concat(a,b){
return a+b;
}
//Add your function to connection
sqlite.create_function(concat);
// Use your function in the SQL
console.log(sqlite.run("SELECT ID , concat(ID, NAME) as concat FROM COMPANYS;"));
// Closing connection
sqlite.close();
encrypt(from, to, password)
Encrypting an database. In the output file you can use any extension.
var sqlite = require('sqlite-cipher');
//(from, to, password, [algorithm])
sqlite.encrypt("test/decrypted.db","test/reencrypted.rec", "myPass","aes-256-ctr");
decrypt(from, to, password)
Decrypting an database.
var sqlite = require('sqlite-cipher');
//(from, to, password, [algorithm])
sqlite.decrypt("test/Database.enc","test/decrypted.db", "myPass", "aes-256-ctr");
Using SQL
This module is it´s similar to sqlite-sync.js
See more HERE
Algorithm list
In sqlite-cipher.js We use crypto-js to encrypt and decrypt the data and files. And the algorithms that it supports are:
'CAST-cbc',
'aes-128-cbc',
'aes-128-ccm',
'aes-128-cfb',
'aes-128-cfb1',
'aes-128-cfb8',
'aes-128-ctr',
'aes-128-ecb',
'aes-128-gcm',
'aes-128-ofb',
'aes-128-xts',
'aes-192-cbc',
'aes-192-ccm',
'aes-192-cfb',
'aes-192-cfb1',
'aes-192-cfb8',
'aes-192-ctr',
'aes-192-ecb',
'aes-192-gcm',
'aes-192-ofb',
'aes-256-cbc',
'aes-256-ccm',
'aes-256-cfb',
'aes-256-cfb1',
'aes-256-cfb8',
'aes-256-ctr',
'aes-256-ecb',
'aes-256-gcm',
'aes-256-ofb',
'aes-256-xts',
'aes128',
'aes192',
'aes256',
'bf',
'bf-cbc',
'bf-cfb',
'bf-ecb',
'bf-ofb',
'blowfish',
'camellia-128-cbc',
'camellia-128-cfb',
'camellia-128-cfb1',
'camellia-128-cfb8',
'camellia-128-ecb',
'camellia-128-ofb',
'camellia-192-cbc',
'camellia-192-cfb',
'camellia-192-cfb1',
'camellia-192-cfb8',
'camellia-192-ecb',
'camellia-192-ofb',
'camellia-256-cbc',
'camellia-256-cfb',
'camellia-256-cfb1',
'camellia-256-cfb8',
'camellia-256-ecb',
'camellia-256-ofb',
'camellia128',
'camellia192',
'camellia256',
'cast',
'cast-cbc',
'cast5-cbc',
'cast5-cfb',
'cast5-ecb',
'cast5-ofb',
'des',
'des-cbc',
'des-cfb',
'des-cfb1',
'des-cfb8',
'des-ecb',
'des-ede',
'des-ede-cbc',
'des-ede-cfb',
'des-ede-ofb',
'des-ede3',
'des-ede3-cbc',
'des-ede3-cfb',
'des-ede3-cfb1',
'des-ede3-cfb8',
'des-ede3-ofb',
'des-ofb',
'des3',
'desx',
'desx-cbc',
'id-aes128-CCM',
'id-aes128-GCM',
'id-aes128-wrap',
'id-aes192-CCM',
'id-aes192-GCM',
'id-aes192-wrap',
'id-aes256-CCM',
'id-aes256-GCM',
'id-aes256-wrap',
'id-smime-alg-CMS3DESwrap',
'idea',
'idea-cbc',
'idea-cfb',
'idea-ecb',
'idea-ofb',
'rc2',
'rc2-40-cbc',
'rc2-64-cbc',
'rc2-cbc',
'rc2-cfb',
'rc2-ecb',
'rc2-ofb',
'rc4',
'rc4-40',
'rc4-hmac-md5',
'seed',
'seed-cbc',
'seed-cfb',
'seed-ecb',
'seed-ofb'
Tutorials
English > Create database sqlite encrypted with node.js Português > Banco de Dados sqlite criptografado em node.js