You cannot implement a true random number generator entirely on a digital computer. The best you can do is a "pseudo-random number generator," which, as has been said, will eventually repeat. This is because computer programs are deterministic, and can do no better than shuffling bits in a complex (yet not random) way.
There are, however, many sources of true randomness available in the physical world. The voltage across a temperature-sensing diode in the processor, the time between successive user keystrokes, the receipt of random broadcast packets on a network interface, etc. are all random enough, at least in aggregate, for most cryptographic purposes. A random-number generator based on such sources of true randomness will never repeat.