Skip to content
/ esorand Public

An implementation of multiple different PRNG methods from multiple different places. Under no circumstances must any of these be used for projects where security is a priority.

Notifications You must be signed in to change notification settings

xubiod/esorand

Repository files navigation

esorand

A Go package to provide multiple different pseudo-random number generator algorithms for the hell of it.

Why?

  1. Why not?
  2. I personally think it's very interesting to see what older algorithms did, especially on older, less powerful hardware. It's been a fun and interesting case study for myself.

Testing

While implementing PRNG methods seems like testing would be not entirely necessary, I do want to keep these implements as accurate as possible which tend to involve using the actual original implementations. For example, the .NET 5.0 PRNG has a test file with two seeds with the test using actual results from a small C# program to print out the results of a seeded Random object.

All implementations with a test file pass all tests before being committed to the repository. Implementations without testing are not fully guaranteed to be accurate until testing has been done.

References

All structs should be documented of what was used as a reference to the implementation in Go. These range from YouTube videos to actual source code and decompilations.

About

An implementation of multiple different PRNG methods from multiple different places. Under no circumstances must any of these be used for projects where security is a priority.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages