oops, i switched the key and salt arguments around. char *pass1 = crypt(salt1, key); char *pass2 = crypt(salt2, key); should've been char *pass1 = crypt(key, salt1); char *pass2 = crypt(key, salt2); the new output is: # ./a.out DES: abJnggxhB/yWI MD5: $1$12345678$o2n/JiO/h5VviOInWJ4OQ/ which definitely looks right! micah, i'll bet your man page is outdated. pete ---------------------------------------------------------------- linux To err is human, to forgive is divine. [EMAIL PROTECTED] _ To oink is porcine, to meow is feline. http://www.dirac.org/p ._. To neigh is equine to howl is lupine, /v\ To moo is bovine to bleat is ovine. // \\ ---------------------------------------------------------------- ^^ ^^ The best way to accelerate a win95 system is at 9.81 m/s^2 rules
