Skip to content

Module to decrypt the database file created by enpass with given credentials.

License

Notifications You must be signed in to change notification settings

master-lincoln/enpass-decryptor-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Allows to decrypt Enpass walletx.db database files via Node.js.

Usage

Add the library to your dependencies and install

npm install --save enpass-decryptor-js

Next you can call connect and pass it a callback and the configuration for the database (path and password). Within the callback you can access the complete Enpass database.

const enpass = require('enpass-decryptor-js');


enpass.connect((err, db) => {
    db.getPasswordsWithTitle('Github', (err, passwords) => {
        console.log(passwords.join('\n'));
    });

    db.disconnect();
}, {
    database_path: '/home/someone/Documents/walletx.db',
    password: '#SuperS3cr3tP4assw0rd'
});

Of course you should not save the password in a cleartext file!

Documentation

Under the hood Enpass uses an encrypted SQLite database (via SQLCipher).

Addtionally, they encrypt the sensitive data with an extra PBKDF2 cipher (as explained in their FAQ).

Database structure is explained in Dataformat.md

Motivation

Enpass is great because it allows offline usage and it gives you a wide variety of sync providers. Sadly Enpass is not open source, so I wanted a way to access my passwords even if an original Enpass client is not available. This library could be used to implement alternative clients to the Enpass password database.

Based on the python implementation steffen9000/enpass-decryptor

About

Module to decrypt the database file created by enpass with given credentials.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published