We have getrandom at home

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • getrandom

    A small cross-platform library for retrieving random data from (operating) system source

    The crypto source in Go is great, no complaints there. Lints like gosec even recommend using it when generating crypto entropy. Go did a good job here, and I expect Rust will do the same sometime after getrandom reaches 1.0 so the API questions are settled, plus whatever makes sense for the future-proofing the standard library needs.

  • cargo-xtask

    For simple cli apps for internal use, such as cargo-xtasks, I prefer pico_args due to its fast compile times.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • gosec

    Go security checker

    The crypto source in Go is great, no complaints there. Lints like gosec even recommend using it when generating crypto entropy. Go did a good job here, and I expect Rust will do the same sometime after getrandom reaches 1.0 so the API questions are settled, plus whatever makes sense for the future-proofing the standard library needs.

  • rand

    Fast, high quality alternative to math/rand and golang.org/x/exp/rand (by flyingmutant)

    This may very well be a bit offtopic in the rust subreddit, but in case you need fast high quality non-crypto PRNG in Go, I've made one that I believe to be decent. It is unfortunate that math/rand is unlikely to significantly improve due to the backward compatibity and can't be recommended for anything non-trivial.

  • go

    The Go programming language

    Making a compatibility promise for the default source, without even really looking into the qualities of that source first, meant the default source will be both weak and slow forever. I don't know what the plan is here, the issue hasn't seen activity in 2 years as of the time of writing.

  • rand

    A Rust library for random number generation.

    Making compatibility promises for distributions means they cannot take advantage of potential advancements in the field.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts