Class SystemRNG
Operating system specific cryptography secure random number generator.
It uses the "CryptGenRandom" function for Windows and "/dev/urandom" for Posix. It's recommended to combine the output use additional processing generated random numbers via provided functions for systems where security matters.
Inherits from
-
(base class)Object
-
RandomNumberStream
Remarks
Windows "CryptGenRandom" RNG has known security vulnerabilities on Windows 2000 and Windows XP (assuming the attacker has control of the machine). Fixed for Windows XP Service Pack 3 and Windows Vista.
See Also
Constructors
Name | Description |
---|---|
this
|
Creates new system random generator |
Properties
Name | Type | Description |
---|---|---|
dataAvailableForRead
[get]
|
bool |
Queries if there is data available for immediate, non-blocking read .
|
empty
[get]
|
bool |
Returns true iff the end of the stream has been reached |
leastSize
[get]
|
ulong |
Returns the maximum number of bytes that are known to remain in this stream until the
end is reached. After leastSize () bytes have been read , the stream will either have
reached EOS and empty () returns true, or leastSize () returns again a number > 0.
|
Methods
Name | Description |
---|---|
peek
|
Returns a temporary reference to the data that is currently buffered, typically has the size
leastSize () or 0 if dataAvailableForRead () returns false.
|
read
|
Fills the buffer new random numbers.
|
Authors
Ilya Shipunov
Copyright
© 2013 RejectedSoftware e.K.
License
Subject to the terms of the MIT license, as written in the included LICENSE.txt file.