@raisinten/aes-crypto-js
Version:
Lightweight and convenient AES encryption/decryption library to make it easier to migrate away from the deprecated crypto-js library
46 lines (29 loc) • 1.41 kB
Markdown
The `@raisinten/aes-crypto-js` library provides a lightweight and convenient AES encryption/decryption API to make it easier to migrate away from the [deprecated `crypto-js` library](https://github.com/brix/crypto-js).
```js
const { encryptAES, decryptAES } = require('@raisinten/aes-crypto-js');
const plainText = 'Hello, world!';
const secret = 'umm, shhh ...';
const encrypted = encryptAES(plainText, secret);
console.log(encrypted);
// U2FsdGVkX18T+lGbQ19d5PT205PrfCiti+f8hlKr/9E=
const decrypted = decryptAES(encrypted, secret);
console.log(decrypted);
// Hello, world!
```
- `plainText` (**string**) - The string to be encrypted.
- `secret` (**string**) - The string to be used as the secret for the encryption.
- Returns **string** - The encrypted string in `base64` format.
Encrypts the plaintext using the secret.
- `encrypted` (**string**) - The string to be decrypted.
- `secret` (**string**) - The string to be used as the secret for the decryption.
- Returns **string** - The decrypted string.
Decrypts the encrypted string using the secret.
> [!NOTE]
> The only difference from the AES implementation in the `crypto-js` library is that if there is a lone surrogate in a string, the `crypto-js` library crashes whereas this library replaces it with `U+FFFD`.
MIT