UNPKG

@izzius94/crypter

Version:

The crypter library makes easy to share encrypted data with a Laravel project.

80 lines (50 loc) 2.6 kB
[![npm](https://badgen.net/npm/v/@izzius94/crypter)](https://www.npmjs.com/package/@izzius94/crypter) [![npm](https://badgen.net/npm/dt/@izzius94/crypter)](https://www.npmjs.com/package/@izzius94/crypter) [![License](https://badgen.net/github/license/izzius94/node-crypter)](https://github.com/izzius94/node-crypter/blob/main/LICENSE) [![TS-Standard - TypeScript Standard Style Guide](https://badgen.net/badge/code%20style/ts-standard/blue?icon=typescript)](https://github.com/standard/ts-standard) # @izzius94/crypter The `crypter` library makes easy to share encrypted data with a Laravel project. ## Features - Genaration of encryption keys from command line - Encryption of strings - Decryption of strings ### Supported algorithms - aes-256-cbc (default) - aes-128-cbc - aes-256-gcm - aes-128-gcm ### Missing features Currently serialization and deserialization is not supported. > To mitigate this use [php-serialize](https://www.npmjs.com/package/php-serialize) library. ## Usage > Full documentation [here](https://github.com/izzius94/node-crypter/wiki) ### Creation of encryption key ```bash npx @izzius94/crypter ``` This command will output a new encryption key in yor console. This command accept the algorithm to use as a parameter. If the algorithm is not supported it will exit with an error ### Encrypt/decrypt strings To encrypt/decrypt strings use `encrypt` and `decrypt` methods passing the encryption key as the second parameter. ```typescript import { encrypt, decrypt } from '@izzius94/crypter' const key = readKey('8U6GU1Tp1/0Jb7/1BRCxpzQubzBKfs1Sm8V8Wtce4+U==') const original = 'my-string' const crypted = crypter.encrypt(original, key) const decrypted = crypter.decrypt(crypted, key) console.log(original === decrypted) ``` > To use a different algorithm pass it as the third parameter to the methods `encrypt` and `decrypt`. ### Using the Crypter class to encrypt and decrypt a string Sometimes you will need to use the same key accross multiple classes. To help you do this you can use the class `Crypter` to share the same encryption key. ```typescript import { Crypter, readKey } from '@izzius94/crypter' const crypter = new Crypter(readKey('TkIRuk6C70E2ExHunuX+wg3CwX+kcgkbg59Yhwiqi7s=')) const original = 'my-string' const crypted = crypter.encrypt(original) const decrypted = crypter.decrypt(crypted) // Will output true console.log(original === decrypted) ``` > To use a different algorithm pass it as second parameter to the constructor of the class `Crypter` ## License Copyright © 2023 Maurizio Urso Released under the MIT license