summaryrefslogtreecommitdiff
path: root/generate_key.ts
blob: f241f6edc98ce33ca0461a24f544de4ce96837a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { crypto } from "https://deno.land/std@0.140.0/crypto/mod.ts";

const generateKey = async () => {
  try {
    // 32バイトのHMACキーを生成
    const key = await crypto.subtle.generateKey(
      { name: "HMAC", hash: "SHA-512" },
      true,
      ["sign", "verify"]
    );

    // キーをエクスポート
    const exportedKey = await crypto.subtle.exportKey("raw", key);
    const keyUint8Array = new Uint8Array(exportedKey);

    // キーをファイルに保存
    await Deno.writeFile("secret.key", keyUint8Array);
    console.log("Secret key generated and saved to 'secret.key'.");
  } catch (error) {
    console.error("Error generating or saving key:", error);
  }
};

await generateKey();