# Random Number Generator

## Generate a random number between a lower and upper limit

## Random Number Generator (RNG)

A random number generator, often abbreviated to RNG, is a tool or algorithm that produces random numbers. These numbers can be as simple as a number between 1 and 10 or as complex as a 256-bit key for encryption.

### What is it used for?

**Gambling and Lotteries:** RNGs are essential for gambling games such as slot machines, roulette, and online lotteries to guarantee fair and unpredictable results.
**Cryptography:** Secure communication, like HTTPS websites, relies on RNGs to generate unique keys that are nearly impossible to guess.
**Simulations and Modeling:** Scientists and engineers use RNGs to simulate random events, such as the behavior of molecules in a gas or the movement of stars in a galaxy.
**Computer Games:** RNGs often determine the outcome of an event in a game, such as finding a rare item or the success of an attack.

### How does it work?

There are two main types of RNGs:

**Pseudo-Random Number Generators (PRNGs):** These are algorithms that generate random numbers based on an initial value, known as a seed. Although the numbers seem random, the same seed will always produce the same sequence of numbers. This makes PRNGs predictable and therefore not suitable for applications where real randomness is required, like cryptography.
**True Random Number Generators (TRNGs):** These generators produce numbers by measuring a fundamentally random physical process, like radioactive decay or electronic noise. TRNGs are unpredictable and are considered truly random.

### Conclusion

Random number generators are an essential tool in many modern applications, from secure communication to entertainment. It's important to choose the right type of RNG for the task to ensure both fairness and security.