And what data structure do you have lying around at encryption time that's as long as the plaintext?
That's right, the plaintext. Use that as your one time pad. It saves you the headache of generating high-quality randomness if you just XOR the plaintext with itself.
The resulting ciphertext is not only theoretically unbreakable without the key, it is also highly compressible for economical transmission.