#numbers #standard #generator #top #why #hash-map #hacked

attorand

A small random number generator hacked on top of Rust's standard library

2 stable releases

1.0.1 Nov 24, 2021

#9 in #why

MIT license

8KB
56 lines

attorand

from 'atto', meaning smaller than small, and 'rand', short for random.

A small random number generator hacked on top of Rust's standard library.

Origins

Rust, as you may well know, has support for HashMaps. These maps, as per their name, require hashing. Hashing, of course, takes some data, and produces a random representation of that data. Where we hash, random numbers follow!

Why attorand?

Other crates, like rand, can be hard to use cross-platform, Because they rely on the system's source of randomness. attorand, however, does not have this limitation, and provides a firehose of random bytes to drink from.

How does it work?

Internally, attorand works by repeatedly hashing a seed, using the output of the last round as the input to the next. The algorithm used is SipHash 1-3, as per Rust's standard library docs, but note that this is "subject to change at any point in the future".

Addendum

Please don't use this for anything that needs cryptographic randomness. (You knew that.)

I hold no further responsibility for this abomination.

LICENSE

MIT.

No runtime deps