Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #random random keyfile generator
- ARGS=6
- E_BADARGS=85
- if [ $# -ne "$ARGS" ]
- then
- echo
- echo "Usage: `basename $0` [keyfile_name] [extension] [amount] {bytes} {min-count} {max-count}"
- # echo "Notice: [sudo apt-get install randomsound] before use"
- echo "uses dd with /dev/urandom"
- echo
- echo "Example: `basename $0` picture jpg 10 1024 512 4096"
- echo "--will make directory named picture_10"
- echo "--with 10 keyfiles named picture1.jpg to picture10.jpg"
- echo "--keyfile size will be random between .52MB & 4.19MB"
- echo
- exit $E_BADARGS
- fi
- filename=$1
- extension=$2
- amount=$3
- bytes=$4
- count_min=$5
- count_max=$6
- echo
- #echo "Restarting entropy with randomsound (doesn't always have the best entropy from startup)"
- #sudo /etc/init.d/randomsound restart
- mkdir "$filename"_"$amount"
- maxsize=`echo "$bytes*$count_max*.000001" | bc`
- minsize=`echo "$bytes*$count_min*.000001" | bc`
- echo
- echo "MIN: $minsize""MB"" MAX: $maxsize""MB"
- for a in `seq $amount`
- do
- echo
- entropy1=`cat /proc/sys/kernel/random/entropy_avail`
- echo -n "Making $filename$a.$extension with entropy of:$entropy1"
- number=0
- FLOOR=$count_min
- RANGE=$count_max
- #initialize random number range
- while [ "$number" -le $FLOOR ]
- do
- SEED=$(head -1 /dev/urandom | od -N 1 | awk '{ print $2 }')
- RANDOM=$SEED
- number=$RANDOM
- let "number %= $RANGE" # Scales $number down within $RANGE.
- done
- currentfilesize=`echo "$bytes*$number*.000001" | bc` #helpful for large ones
- echo " will be $currentfilesize""MB"
- echo "dd if=/dev/urandom of=./"$filename"_"$amount"/"$filename""$a"."$extension" bs=$bytes count=$number"
- dd if=/dev/urandom of=./"$filename"_"$amount"/"$filename""$a"."$extension" bs=$bytes count=$number
- entropy2=`cat /proc/sys/kernel/random/entropy_avail`
- totale=`echo "$entropy1-$entropy2" | bc`
- # echo ".:: Pausing to generate more entropy ($totale used $entropy2 left) ::."
- # sleep 3
- echo
- done
- echo "Made $a keyfile(s) in /""$filename""_""$amount"
- echo
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement