The crypter
library makes easy to share encrypted data with a Laravel project.
- Genaration of encryption keys from command line
- Encryption of strings
- Decryption of strings
- aes-256-cbc (default)
- aes-128-cbc
- aes-256-gcm
- aes-128-gcm
Currently serialization and deserialization is not supported.
To mitigate this use php-serialize library.
Full documentation here
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
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
.
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
Copyright © 2023 Maurizio Urso Released under the MIT license