the following two functions are taken from the website:

http://vader.eeng.brad.ac.uk/tea/source.shtml
they implement the Tiny Encryption Algorithm (TEA)

void encipher(unsigned long *const v,unsigned long *const w,

const unsigned long *const k)

{

register unsigned long y=v[0],z=v[1],sum=0,delta=

0x9E3779B9,

a=k[0],b=k[1],c=k[2],d=k[3],n=32;

while(n-->0)

{

sum += delta;

y += (z << 4)+a ^ z+sum ^ (z >> 5)+b;

z += (y << 4)+c ^ y+sum ^ (y >> 5)+d;

}

w[0]=y; w[1]=z;

}

void decipher(unsigned long *const v,unsigned long *const w,

const unsigned long *const k)

{

register unsigned long y=v[0],z=v[1],sum=0xC6EF3720,

delta=0x9E3779B9,a=k[0],b=k[1],

c=k[2],d=k[3],n=32;

/* sum = delta<<5, in general sum = delta * n */

while(n-->0)

{

z -= (y << 4)+c ^ y+sum ^ (y >> 5)+d;

y -= (z << 4)+a ^ z+sum ^ (z >> 5)+b;

sum -= delta;

}

w[0]=y; w[1]=z;

}

How would i use these functions to encrypt/decrypt a char* ? how can i convert char* to long* and will this do it? a simple typecast doesn't do it apparently.

thanks in advance

mf