Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

std::rand docs and a new weak_rng function #8349

Closed
wants to merge 2 commits into from

Conversation

Seldaek
Copy link
Contributor

@Seldaek Seldaek commented Aug 6, 2013

The weak_rng as you can see in the docs is made to have a "no-thinking" way to get a fast rng for non-crypto purposes. I think RNG APIs should be as dumb-proof as possible to avoid any mistakes. It's good that the default rng is a secure one, but I don't want to force people to actually google the various algos to be able to know which to choose and possibly make a wrong choice. So if you need a fast non secure one you can use weak_rng. I think that makes sense.

Note that the comments I added do imply that the return value of the rng/weak_rng functions can change in the future. The reason is that if a better algorithm comes up in the future I think we should switch to that. Or at the very least if ISAAC is proven to be unsafe it should be swapped off for something else. Not allowing for this eventuality now means we'll end up with a broken old API that can not be changed for BC reasons and a new std::betterrand::rng() to try and fix that mess. Coming from PHP I have to deal with enough old mistakes that stick around for BC, so I'm trying to avoid this here :)

@emberian
Copy link
Member

emberian commented Aug 8, 2013

Closing; in my rollup

@emberian emberian closed this Aug 8, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants