Giter VIP home page Giter VIP logo

psh-prng's Introduction

---
psh-prng
-- an attempt at pure POSIX sh random number generation
-- 100% POSIX compliant; if /dev/urandom is missing PIDs are used
---
Usage
-- ./ran [seed] [seed2] [method]
-- seed
  >> can either be a number or string
  >>>> if a string is given the decimal ascii value
  >>>> of each character is added together and used as the seed 
-- seed2
  >> xoroshiro64 expects 2 seeds
-- method
  >> pid or uran
  >>>> pid
  >>>>>> pids are used to generate a seed
  >>>>>>>> pid generation produces a larger output
  >>>>>>>> this is to counteract the fact that pids can be manipulated on Linux systems
  >>>> uran
  >>>>>> uses /dev/urandom if present to generate a seed
  >> to set the method, supply $1 & $2 as `-`
  >>>> ./ran - - pid
---
Seed generation
-- the code used here to generate a seed is hand made
---- uran is highly preferred as pids can be easily manipulated
---- and are sequential unless the system has random pids
---- however this isn't(?) present on Linux
  >> random pids causes a performance hit
  >> and it is widely debated if it has any actual use
---
xoroshiro64**
-- this branch implements xoroshiro64**
-- hopefully this will have less patterns 
---
Notes
-- DO NOT use this for encryption
-- I am unable to verify if this algorithm is secure
-- additionally if PIDs are used for seeds, generation can likely be manipulated
---

psh-prng's People

Contributors

mia-rain avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.