summaryrefslogtreecommitdiff
path: root/generate_key.ts
diff options
context:
space:
mode:
authorhaturatu <taro@eyes4you.org>2024-08-09 20:57:38 +0900
committerhaturatu <taro@eyes4you.org>2024-08-09 20:57:38 +0900
commit5a73bb414fafca464eb6a0b3ff305bb98d3ece9c (patch)
tree9d2b5cdbf65a1f5a1a03fd3f47eef219f8ea4bea /generate_key.ts
first commit
Diffstat (limited to 'generate_key.ts')
-rw-r--r--generate_key.ts25
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();
+