#!/usr/bin/env runts -- --allow-read import { parseArgs } from "jsr:@std/cli/parse-args"; const flags = parseArgs(Deno.args, { boolean: ["help", "secure-random"], string: ["length"], }); if (flags.help) { 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(randDevice, { read: true }); try { const nread = await file.read(buffer); if (nread == null) { throw `Read from ${randDevice} failed`; } } finally { file.close(); } Deno.stdout.write(buffer); // @SCRIPT-SIGNATURE-V1: yk-r1.ES256.20250919T000646+08:00.MEYCIQC4rLURXnLhxeA870Wv // O9OFCHPUcepoqOMgVxT1sDgV7gIhAM5SoaS2EWjqDMngyPTufuwaqv4Gza8CXzddrKq68DTD