Sometimes generating pseudo-random data is desirable in order to sidestep caching or dedup mechanisms when measuring throughput. Lots of pseudo-random data can be generated in an extremely fast manner by AES-encrypting /dev/zero with a random key: # pv /dev/null | base64)" -nosalt >/dev/null Roughly an order of magnitude faster that reading from /dev/urandom on my box, YMMV. In particular, if you want to generated a specified amount of data: # pv /dev/null | base64)" -nosalt | dd bs=16M count=1000 iflag=fullblock >dev/null In this case, don't forget the 'iflag=fullblock' argument to avoid buffer underruns. Update: Use a variant of this command to do wicked fast & easy symmetric encryption: # openssl aes-256-cbc -a -salt -pbkdf2 some.output.enc And decryption: # openssl aes-256-cbc -d -a -pbkdf2 some.output Openssl will ask for a passphrase somehow, but it's not entirely clear how the password is received in a manner than it is separate from the rest of stdin. TBD.