quick-encrypt

1.0.8 • Public • Published

⚡️🔐 QuickEncrypt

Easily generate RSA Public-Private Keypairs and use them for secure asymmetric one-way encryption and decryption!

Known Vulnerabilities

Installation

npm install quick-encrypt

Usage

Add this to the js file that you are using it in:

 
let QuickEncrypt = require('quick-encrypt')
 

Generating a RSA Public-Private Keypair:

 
let keys = QuickEncrypt.generate(2048) // Use either 2048 bits or 1024 bits.
 
console.log(keys.public) // Public Key that has been generated.
 
console.log(keys.private) // Private Key that has been generated.
 

Encrypting a secret payload:

 
let publicKey = keys.public // " -----BEGIN RSA PUBLIC KEY-----\nMIGJAoGBAIXlXZs+0FoIGBc5pjnZZxtvIzdDFtNi3SVi6vf2J...... "
 
let encryptedText = QuickEncrypt.encrypt( 'This is some super top secret text!', publicKey)
 
console.log(encryptedText) // Some encrypted text: " 01c066e00c660aabadfc320621d9c3ac25ccf2e4c29e8bf4c...... "
 

Decrypting a secret payload:

 
let privateKey = keys.private // " -----BEGIN RSA PRIVATE KEY-----\nMIICWwIBAAKBgQCF5V2bPtBaCBgXOaY52WcbbyM3QxbTYt0lYur..... "
 
let decryptedText = QuickEncrypt.decrypt( 'The encrypted text string here!', privateKey)
 
console.log(decryptedText) // The decrypted text: "This is some super top secret text!"
 

Full Example:

const QuickEncrypt = require('quick-encrypt')
 
// --- RSA Keypair Generation ---
let keys = QuickEncrypt.generate(1024) // Use either 2048 bits or 1024 bits.
console.log(keys) // Generated Public Key and Private Key pair
let publicKey = keys.public
let privateKey = keys.private
 
// --- Encrypt using public key ---
let encryptedText = QuickEncrypt.encrypt( "This is some super top secret text!", publicKey )
console.log(encryptedText) // This will print out the ENCRYPTED text, for example : " 01c066e00c660aabadfc320621d9c3ac25ccf2e4c29e8bf4c...... "
 
// --- Decrypt using private key ---
let decryptedText = QuickEncrypt.decrypt( encryptedText, privateKey)
console.log(decryptedText) // This will print out the DECRYPTED text, which is " This is some super top secret text! "
 

Tests

npm test

Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.

Dependents (6)

Package Sidebar

Install

npm i quick-encrypt

Weekly Downloads

220

Version

1.0.8

License

MIT

Unpacked Size

10.5 kB

Total Files

6

Last publish

Collaborators

  • joshuaquek