diff options
author | haturatu <taro@eyes4you.org> | 2024-08-09 20:57:38 +0900 |
---|---|---|
committer | haturatu <taro@eyes4you.org> | 2024-08-09 20:57:38 +0900 |
commit | 5a73bb414fafca464eb6a0b3ff305bb98d3ece9c (patch) | |
tree | 9d2b5cdbf65a1f5a1a03fd3f47eef219f8ea4bea /generate_key.ts |
first commit
Diffstat (limited to 'generate_key.ts')
-rw-r--r-- | generate_key.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/generate_key.ts b/generate_key.ts new file mode 100644 index 0000000..f241f6e --- /dev/null +++ b/generate_key.ts @@ -0,0 +1,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(); + |