1#!/usr/bin/env perl 2 3use Digest::MD5 qw(md5); 4# Generates $1 bytes of random crap, based on a seed. 5# 6# if 0 is passed as a length, produce an infinite amount od crap. 7# 8# the optional second argument serves as a random seed. 9 10sub usage { 11 die "Usage: $0 <nbytes> [<integer seed>]\n"; 12} 13 14defined(my $nbytes = shift @ARGV) or usage; 15my $seed = shift @ARGV || 0; 16my $infinite = $nbytes == 0; 17$|=1; 18 19$ctx = Digest::MD5->new; 20$ctx->add($seed); 21 22while ($infinite || $nbytes > 0) { 23 my $crap = $ctx->clone->digest; 24 my $take = ($infinite || $nbytes >= 16) ? 16 : $nbytes; 25 syswrite(STDOUT, $crap, $take) or die; 26 $nbytes -= $take; 27 $ctx->add($crap); 28} 29