mirror of
https://github.com/imputnet/cobalt.git
synced 2025-06-28 17:38:31 +00:00
20 lines
708 B
JavaScript
20 lines
708 B
JavaScript
import { createCipheriv, createDecipheriv } from "crypto";
|
|
|
|
const algorithm = "aes256";
|
|
|
|
export function encryptStream(plaintext, iv, secret) {
|
|
const buff = Buffer.from(JSON.stringify(plaintext));
|
|
const key = Buffer.from(secret, "base64url");
|
|
const cipher = createCipheriv(algorithm, key, Buffer.from(iv, "base64url"));
|
|
|
|
return Buffer.concat([ cipher.update(buff), cipher.final() ])
|
|
}
|
|
|
|
export function decryptStream(ciphertext, iv, secret) {
|
|
const buff = Buffer.from(ciphertext);
|
|
const key = Buffer.from(secret, "base64url");
|
|
const decipher = createDecipheriv(algorithm, key, Buffer.from(iv, "base64url"));
|
|
|
|
return Buffer.concat([ decipher.update(buff), decipher.final() ])
|
|
}
|