#!/bin/bash

# Program to test the time taken to generate message digest using MD5 and SHA1
# w.r.t to the change in 
# Algorithm Used
# Message Size


# The usage is
# testDigest.sh <filename> <AlgoName> <msgsize> [msgsize|setup]

# The last parameter indicates that which out of the the factors the user
# wants to change.



FileOutDiffMsgLenTmp="log/FileOutDiffMsgLenTmp"
FileMessage="FileMessage.txt"
DIGEST="Digest"
LINE_COMMENT="-------------------------------------------------------------------------------"
LINE_HEADER="template"


function ChangeMsgLen()
{
        msgi=1
	AlgoName="$1"
        MsgLen="$2"

        echo $LINE_COMMENT >> $FileOutDiffMsgLenTmp
        while test $msgi -le $MsgLen
        do
               java $DIGEST $FileMessage $AlgoName $msgi >> $FileOutDiffMsgLenTmp


#                cat $FileLogDiffMsgLenTmp >> $FileOutDiffMsgLenTmp
                msgi=`expr $msgi \* 2`
        done
}


function setup()
{
		if [ ! -d "log" ]
            	then
                        mkdir "log";
		else
			rm -Rf "log";
			mkdir "log";
                fi
                cat $LINE_HEADER > $FileOutDiffMsgLenTmp;

}




# Check the no. of parameters

if test $# -ne 4 
then
	echo "Usage : testDigest.sh <filename> <AlgoName> <msgsize> [msgsize|setup]"
	exit 0
fi


if [ ! -e "log" ]
then
	setup;	
fi



FileMessage="$1"


case $4 in
msgsize)	ChangeMsgLen "$2" "$3" ;;
setup)		setup;
		exit 0;;

*)		echo "Usage : testDigest.sh <filename> <AlgoName> <msgsize> [msgsize|setup]";
		exit 0;;

esac



exit 0


