aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/envshare/pkg/encryption.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'envshare/pkg/encryption.test.ts')
-rw-r--r--envshare/pkg/encryption.test.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/envshare/pkg/encryption.test.ts b/envshare/pkg/encryption.test.ts
new file mode 100644
index 0000000..5d4cf15
--- /dev/null
+++ b/envshare/pkg/encryption.test.ts
@@ -0,0 +1,24 @@
+import { describe, it, expect, beforeAll } from "@jest/globals";
+import { decrypt, encrypt } from "./encryption";
+import crypto from "node:crypto";
+import { toBase58 } from "../util/base58";
+
+beforeAll(() => {
+ global.crypto = crypto.webcrypto;
+});
+describe("aes", () => {
+ it("encrypts and decrypts correctly", async () => {
+ for (let i = 0; i < 500; i++) {
+ const buf = new Uint8Array(Math.ceil(Math.random() * 10 * i));
+ crypto.getRandomValues(buf);
+
+ const text = toBase58(buf);
+
+ const { encrypted, key, iv } = await encrypt(text);
+
+ const decrypted = await decrypt(toBase58(encrypted), key, toBase58(iv), 2);
+
+ expect(decrypted).toEqual(text);
+ }
+ }, 30_000);
+});