diff --git a/script-meta-v2.json b/script-meta-v2.json index bf3eb8c..2fb35e9 100644 --- a/script-meta-v2.json +++ b/script-meta-v2.json @@ -89,12 +89,12 @@ }, "random.ts": { "script_name": "random.ts", - "script_length": 780, - "script_sha256": "71a282b63f97e0f6d0c5dd93bf1e71a395233e73ece741ec59b5f559ce9e82b1", + "script_length": 872, + "script_sha256": "0b101da5dd9a5dfceaa3bafd856a1dee98070d9a675c4d554ebd53f3e66d9549", "script_full_url": "https://git.hatter.ink/hatter/ts-scripts/raw/branch/main/single-scripts/random.ts", "single_script_file": true, "publish_time": 1758211365931, - "update_time": 1758211365931 + "update_time": 1758211655417 }, "sigstore-verify.ts": { "script_name": "sigstore-verify.ts", diff --git a/single-scripts/random.ts b/single-scripts/random.ts index 2a91a47..11e2215 100755 --- a/single-scripts/random.ts +++ b/single-scripts/random.ts @@ -3,23 +3,25 @@ import { parseArgs } from "jsr:@std/cli/parse-args"; const flags = parseArgs(Deno.args, { - boolean: ["help"], + boolean: ["help", "secure-random"], string: ["length"], }); if (flags.help) { - console.log("random.ts [--post-message] [--length ]"); + console.log("random.ts [--secure-random] [--length ]"); Deno.exit(0); } const len = parseInt(flags.length || "12", 10); +const randDevice = flags["secure-random"]? "/dev/random": "/dev/urandom"; + const buffer = new Uint8Array(len); -const file = await Deno.open("/dev/random", { read: true }); +const file = await Deno.open(randDevice, { read: true }); try { const nread = await file.read(buffer); if (nread == null) { - throw "Read from /dev/random failed"; + throw `Read from ${randDevice} failed`; } } finally { file.close(); @@ -27,5 +29,5 @@ try { Deno.stdout.write(buffer); -// @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20250919T000056+08:00.MEUCIQD0uwOh8xr+8Oog7x6s -// cUutQYrO4oFkS+SU1mZogTFuwAIgE7PWbiDvzAKFUSCc0byrdwWkXrcJp+7CDWr3+e83Zy4= +// @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20250919T000646+08:00.MEYCIQC4rLURXnLhxeA870Wv +// O9OFCHPUcepoqOMgVxT1sDgV7gIhAM5SoaS2EWjqDMngyPTufuwaqv4Gza8CXzddrKq68DTD