const __vite_ssr_import_0__ = await __vite_ssr_import__("/node_modules/vitest/dist/index.js", {"importedNames":["beforeEach","describe","expect","it"]});
const __vite_ssr_import_1__ = await __vite_ssr_import__("/app/lib/crypto.server.ts", {"importedNames":["decrypt","encrypt"]});


(0,__vite_ssr_import_0__.beforeEach)(() => {
  process.env.ENCRYPTION_KEY = Buffer.alloc(32, 1).toString("base64");
});
(0,__vite_ssr_import_0__.describe)("crypto", () => {
  (0,__vite_ssr_import_0__.it)("round-trips and never stores plaintext", () => {
    const secret = "fp-live-abc123";
    const sealed = (0,__vite_ssr_import_1__.encrypt)(secret);
    (0,__vite_ssr_import_0__.expect)(sealed).not.toContain(secret);
    (0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.decrypt)(sealed)).toBe(secret);
  });
  (0,__vite_ssr_import_0__.it)("uses a fresh IV each time", () => {
    (0,__vite_ssr_import_0__.expect)((0,__vite_ssr_import_1__.encrypt)("x")).not.toBe((0,__vite_ssr_import_1__.encrypt)("x"));
  });
  (0,__vite_ssr_import_0__.it)("detects tampering", () => {
    const parts = (0,__vite_ssr_import_1__.encrypt)("secret").split(":");
    parts[3] = Buffer.from("tampered").toString("base64");
    (0,__vite_ssr_import_0__.expect)(() => (0,__vite_ssr_import_1__.decrypt)(parts.join(":"))).toThrow();
  });
  (0,__vite_ssr_import_0__.it)("rejects a missing or short key", () => {
    delete process.env.ENCRYPTION_KEY;
    (0,__vite_ssr_import_0__.expect)(() => (0,__vite_ssr_import_1__.encrypt)("x")).toThrow(/not set/);
    process.env.ENCRYPTION_KEY = "c2hvcnQ=";
    (0,__vite_ssr_import_0__.expect)(() => (0,__vite_ssr_import_1__.encrypt)("x")).toThrow(/32 bytes/);
  });
});
//# sourceMappingSource=vite-generated
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7O0dBRUEsa0NBQVcsTUFBTTtBQUNmLFVBQVEsSUFBSSxpQkFBaUIsT0FBTyxNQUFNLElBQUksQ0FBQyxFQUFFLFNBQVMsUUFBUTtBQUNwRSxDQUFDO0dBRUQsZ0NBQVMsVUFBVSxNQUFNO0FBQ3ZCLCtCQUFHLDBDQUEwQyxNQUFNO0FBQ2pELFVBQU0sU0FBUztBQUNmLFVBQU0sWUFBUywrQkFBUSxNQUFNO0FBQzdCLHFDQUFPLE1BQU0sRUFBRSxJQUFJLFVBQVUsTUFBTTtBQUNuQyx3Q0FBTywrQkFBUSxNQUFNLENBQUMsRUFBRSxLQUFLLE1BQU07QUFBQSxFQUNyQyxDQUFDO0FBQ0QsK0JBQUcsNkJBQTZCLE1BQU07QUFDcEMsd0NBQU8sK0JBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxRQUFLLCtCQUFRLEdBQUcsQ0FBQztBQUFBLEVBQzVDLENBQUM7QUFDRCwrQkFBRyxxQkFBcUIsTUFBTTtBQUM1QixVQUFNLFdBQVEsK0JBQVEsUUFBUSxFQUFFLE1BQU0sR0FBRztBQUN6QyxVQUFNLENBQUMsSUFBSSxPQUFPLEtBQUssVUFBVSxFQUFFLFNBQVMsUUFBUTtBQUNwRCxxQ0FBTyxTQUFNLCtCQUFRLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVE7QUFBQSxFQUNqRCxDQUFDO0FBQ0QsK0JBQUcsa0NBQWtDLE1BQU07QUFDekMsV0FBTyxRQUFRLElBQUk7QUFDbkIscUNBQU8sU0FBTSwrQkFBUSxHQUFHLENBQUMsRUFBRSxRQUFRLFNBQVM7QUFDNUMsWUFBUSxJQUFJLGlCQUFpQjtBQUM3QixxQ0FBTyxTQUFNLCtCQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsVUFBVTtBQUFBLEVBQy9DLENBQUM7QUFDSCxDQUFDIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJjcnlwdG8udGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiZWZvcmVFYWNoLCBkZXNjcmliZSwgZXhwZWN0LCBpdCB9IGZyb20gXCJ2aXRlc3RcIjtcbmltcG9ydCB7IGRlY3J5cHQsIGVuY3J5cHQgfSBmcm9tIFwiLi4vYXBwL2xpYi9jcnlwdG8uc2VydmVyXCI7XG5cbmJlZm9yZUVhY2goKCkgPT4ge1xuICBwcm9jZXNzLmVudi5FTkNSWVBUSU9OX0tFWSA9IEJ1ZmZlci5hbGxvYygzMiwgMSkudG9TdHJpbmcoXCJiYXNlNjRcIik7XG59KTtcblxuZGVzY3JpYmUoXCJjcnlwdG9cIiwgKCkgPT4ge1xuICBpdChcInJvdW5kLXRyaXBzIGFuZCBuZXZlciBzdG9yZXMgcGxhaW50ZXh0XCIsICgpID0+IHtcbiAgICBjb25zdCBzZWNyZXQgPSBcImZwLWxpdmUtYWJjMTIzXCI7XG4gICAgY29uc3Qgc2VhbGVkID0gZW5jcnlwdChzZWNyZXQpO1xuICAgIGV4cGVjdChzZWFsZWQpLm5vdC50b0NvbnRhaW4oc2VjcmV0KTtcbiAgICBleHBlY3QoZGVjcnlwdChzZWFsZWQpKS50b0JlKHNlY3JldCk7XG4gIH0pO1xuICBpdChcInVzZXMgYSBmcmVzaCBJViBlYWNoIHRpbWVcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChlbmNyeXB0KFwieFwiKSkubm90LnRvQmUoZW5jcnlwdChcInhcIikpO1xuICB9KTtcbiAgaXQoXCJkZXRlY3RzIHRhbXBlcmluZ1wiLCAoKSA9PiB7XG4gICAgY29uc3QgcGFydHMgPSBlbmNyeXB0KFwic2VjcmV0XCIpLnNwbGl0KFwiOlwiKTtcbiAgICBwYXJ0c1szXSA9IEJ1ZmZlci5mcm9tKFwidGFtcGVyZWRcIikudG9TdHJpbmcoXCJiYXNlNjRcIik7XG4gICAgZXhwZWN0KCgpID0+IGRlY3J5cHQocGFydHMuam9pbihcIjpcIikpKS50b1Rocm93KCk7XG4gIH0pO1xuICBpdChcInJlamVjdHMgYSBtaXNzaW5nIG9yIHNob3J0IGtleVwiLCAoKSA9PiB7XG4gICAgZGVsZXRlIHByb2Nlc3MuZW52LkVOQ1JZUFRJT05fS0VZO1xuICAgIGV4cGVjdCgoKSA9PiBlbmNyeXB0KFwieFwiKSkudG9UaHJvdygvbm90IHNldC8pO1xuICAgIHByb2Nlc3MuZW52LkVOQ1JZUFRJT05fS0VZID0gXCJjMmh2Y25RPVwiO1xuICAgIGV4cGVjdCgoKSA9PiBlbmNyeXB0KFwieFwiKSkudG9UaHJvdygvMzIgYnl0ZXMvKTtcbiAgfSk7XG59KTtcbiJdLCJmaWxlIjoiL3Rlc3RzL2NyeXB0by50ZXN0LnRzIn0=

//# vitestCache=W3siZmlsZSI6IjEiLCJpZCI6IjEiLCJ1cmwiOiIyIiwiaW1wb3J0cyI6IjMiLCJtYXBwaW5ncyI6ZmFsc2UsImRlcHMiOiI0IiwiZHluYW1pY0RlcHMiOiI1Iiwic3RhdGljTW9ja3MiOm51bGx9LCIvVXNlcnMvZGF3aWQvRGVza3RvcC9maXJzdHByb21vdGVyLXNob3BpZnktYXBwL3Rlc3RzL2NyeXB0by50ZXN0LnRzIiwiL3Rlc3RzL2NyeXB0by50ZXN0LnRzIix7InVybHMiOiI2IiwiaWRzIjoiNyJ9LFsiOCIsIjkiXSxbXSxbIjgiLCI5Il0se30sIi9ub2RlX21vZHVsZXMvdml0ZXN0L2Rpc3QvaW5kZXguanMiLCIvYXBwL2xpYi9jcnlwdG8uc2VydmVyLnRzIl0=