diff options
Diffstat (limited to 'pkg/encryption.test.ts')
| -rw-r--r-- | pkg/encryption.test.ts | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pkg/encryption.test.ts b/pkg/encryption.test.ts new file mode 100644 index 0000000..5d4cf15 --- /dev/null +++ b/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); +}); |
