Revision: 46893
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at May 27, 2011 07:28 by crackiron
                            
                            Initial Code
#!/bin/bash
if !(( $# == 2 )); then
	echo "Uso: ${0} [-d|-e] string"
	echo "Encode: ${0} -e string"
	echo "Decode: ${0} -d string"
	exit 2
fi
# Decoding
function deTrithemius(){
	echo "Decoding ... ${1}"
	hash1="$1"
	table="ABCDEFGHIJKLMNNOPQRSTUVWXYZ"
	i=0
	pos=""
	x=1
	while (( x<$( echo "`echo $hash1 | wc -c`+1" | bc ) )); do
		letra=`echo $hash1 | cut -c$(echo "${x}"|bc)`
		if ( `echo ${letra} | grep "[A-Z]" > /dev/null` ); then
			pos=$(echo "`expr index "${table}" "${letra}"`-${i}" | bc)
			
			while (( pos<=0 )); do
				((pos=$( echo "${pos}+`echo -n $table | wc -c`" | bc ) ))
			done
			
			echo -n "${table}" | cut -c${pos} | tr '\n' '\0'
			(( i+=1 )) 
		else
			echo -n "${letra}"
		fi
		(( x+=1 ))
	done
	echo ""
}
# Encoding
function Trithemius(){
	echo "Encoding ... ${1}"
        hash1="$1"
        table="ABCDEFGHIJKLMNNOPQRSTUVWXYZ"
        i=0
        pos=""
        x=1
        while (( x<$( echo "`echo $hash1 | wc -c`+1" | bc ) )); do
                letra=`echo $hash1 | cut -c$(echo "${x}"|bc)`
		if ( `echo ${letra} | grep "[A-Z]" > /dev/null` ); then
                        pos=$(echo "`expr index "${table}" "${letra}"`+${i}" | bc)
                        while (( pos>`echo -n $table | wc -c` )); do
                                ((pos=${pos}-`echo -n $table | wc -c`))
                        done
                        echo -n "${table}" | cut -c${pos} | tr '\n' '\0'
                        (( i+=1 ))
                else
                        echo -n "${letra}"
                fi
                (( x+=1 ))
        done
        echo ""
}
typeset -u entrada="${2}"
case $1 in
	"-d" )	deTrithemius "$entrada"
		;;
	"-e" )	Trithemius "$entrada"
		;;
	* )	echo "Uso: ${0} [-d|-e] string"
        	echo "Encode: ${0} -e string"
        	echo "Decode: ${0} -d string"
        	exit 2
		;;
esac
                                Initial URL
Initial Description
Initial Title
Trithemius Encoder/Decoder
Initial Tags
Initial Language
Bash