sqlite-cipher

    0.3.6 • Public • Published

    [![NPM](https://nodei.co/npm/sqlite-cipher.png?downloads=true&downloadRank=true)](https://nodei.co/npm/sqlite-cipher/)

    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

    Install

    npm i sqlite-cipher

    DownloadsWeekly Downloads

    35

    Version

    0.3.6

    License

    MIT

    Unpacked Size

    247 kB

    Total Files

    8

    Last publish

    Collaborators

    • jayralencar