feat: update random
This commit is contained in:
@@ -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 <length>]");
|
||||
console.log("random.ts [--secure-random] [--length <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
|
||||
|
||||
Reference in New Issue
Block a user