From 0094991714129a326593f97e283dc41851d133aa Mon Sep 17 00:00:00 2001 From: jiacai2050 Date: Tue, 2 Jan 2024 19:40:55 +0800 Subject: [PATCH] fix: replace DefaultPrng with std.crypto.random See https://lobste.rs/s/jih1sc/zig_cookbook_collection_simple_zig#c_8wncpt --- book-src/06-01-rand.md | 6 ++---- src/06-01.zig | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/book-src/06-01-rand.md b/book-src/06-01-rand.md index 5c16f9e..ef951ad 100644 --- a/book-src/06-01-rand.md +++ b/book-src/06-01-rand.md @@ -1,11 +1,9 @@ ## Generate random numbers -Generates random numbers with help of random-number generator [`std.rand.Random`]. - -Currently the default pseudorandom number generator(PRNG) used in Zig is [Xoshiro256++](https://prng.di.unimi.it/). +Generates random numbers with help of a thread-local, cryptographically secure pseudo random number generator [`std.crypto.random`]. ```zig {{#include ../src/06-01.zig }} ``` -[`std.rand.random`]: https://ziglang.org/documentation/0.11.0/std/#A;std:rand.Random +[`std.crypto.random`]: https://ziglang.org/documentation/0.11.0/std/#A;std:crypto.random diff --git a/src/06-01.zig b/src/06-01.zig index 3bf99ac..d76e087 100644 --- a/src/06-01.zig +++ b/src/06-01.zig @@ -2,8 +2,7 @@ const std = @import("std"); const print = std.debug.print; pub fn main() !void { - var prng = std.rand.DefaultPrng.init(@intCast(std.time.timestamp())); - const rand = prng.random(); + const rand = std.crypto.random; print("Random u8: {}\n", .{rand.int(u8)}); print("Random u8 less than 10: {}\n", .{rand.uintLessThan(u8, 10)});