4

My question builds on the Stack Overflow question How can I generate truly (not pseudo) random numbers with C#?

Is there a web API or something that can generate truly random numbers that I can use in my app?

I am not talking about pseudo-random generators of any sort, but truly random number API, which is usable in, say C#.

4

Random.org has (among other things) a free HTTP API, and a new JSON API is currently (june 2016) in beta (keys on request).

The HTTP interface (using GET requests) has an Integer Generator, a Sequence Generator and a String Generator.

The JSON interface call names show what's available there:
generateIntegers, generateDecimalFractions, generateGaussians, generateStrings, generateUUIDs and generateBlobs.
With the JSON interface you can even...

...generate digitally signed random data, such that you can prove it really came from RANDOM.ORG (authenticity) and that your application has not tampered with it (integrity). This is useful if you want your application to implement non-repudiation.

Note that they use a quota system. This is based on IP:

RANDOM.ORG uses a simple quota system to make sure nobody hogs all the random numbers produced by the generator.

| improve this answer | |
2

I'd like to recommend one more, a random number generator based on quantum fluctuations within a vacuum. It's called the ANU Quantum Random Numbers Server provided by the Austrian National University. This service provides an API that connects to their lab in real time.

The vacuum is described very differently in the quantum mechanical context than in the classical context. Traditionally, a vacuum is considered as a space that is empty of matter or photons. Quantum mechanically, however, that same space resembles a sea of virtual particles appearing and disappearing all the time. This result is due to the fact that the vacuum still possesses a zero-point energy. Consequently, the electromagnetic field of the vacuum exhibits random fluctuations in phase and amplitude at all frequencies. By carefully measuring these fluctuations, we are able to generate ultra-high bandwidth random numbers.

Along with the API, you also have the ability to see and listen to the results of the random numbers. They also have support for authenticated and secured connections for the live streams and random blocks.

There is even a C# library called "Quantum random number generator in C#" which can be found here.

ANU Quantum Random Numbers Server

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.