@izzius94/crypter
Version:
The crypter library makes easy to share encrypted data with a Laravel project.
80 lines (50 loc) • 2.6 kB
Markdown
[](https://www.npmjs.com/package/@izzius94/crypter)
[](https://www.npmjs.com/package/@izzius94/crypter)
[](https://github.com/izzius94/node-crypter/blob/main/LICENSE)
[](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