Home
Softono
enpass-decryptor-js

enpass-decryptor-js

Open source MIT JavaScript
17
Stars
2
Forks
1
Issues
1
Watchers
9 years
Last Commit

About enpass-decryptor-js

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

Platforms

Web Self-hosted

Languages

JavaScript

Links

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