@izzius94/crypter
v0.3.1
Published
The crypter library makes easy to share encrypted data with a Laravel project.
Downloads
16
Readme
@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 library.
Usage
Full documentation here
Creation of encryption key
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.
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
anddecrypt
.
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.
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