Joomla "enhanced" and "standard" md5() functions implemented in standard C language

Well, not much to say.. Joomla uses md5sum, to calculate passwords,
if you do something like echo -n mypassword |md5sum (or md5 on FreeBSD), 
you will get something like: 34819d7beeabb9260a5c854bc85b3e44
Now, Joomla "extended" password encryption adds field like this:
oeKvHLFXfhl3LGDd, so you will have password in format like
crypted_password:salt.. Not big deal.. in fact if you have something 
like this in jos_users table for password:
9ab14ca91b2373194971d23e9caa7907:oeKvHLFXfhl3LGDd it is in fact
calculated like echo -n mypass123oeKvHLFXfhl3LGDd | md5sum, and
guess what.. you get 9ab14ca91b2373194971d23e9caa7907.. So salt is
basicly 16 random characaters.. It is royal pain in the ass to use
this kind of password in unix.. But if you need, you can create
password file using this  perl_script .
It will create unix like /etc/passwd with one exception - it will
use stupid Joomla passwords, in reverse order meaning that salt will
be placed first and "encrypted" password second.. So in case that
you want to use this to authenticate your users, you have function
md5enh, and md5sum (for old Joomla scheme). Whatever unix program
uses crypt(3) function, it can be replaced by md5enh(3), or md5sum(3).
Call md5enh with md5enh(cleartxt_passwd,pw->pw_passwd), and md5sum
with md5sum(cleartxt_passwd). Functions can be found here md5.c
and  here is md5.h . If you can figure out how
to use them and link them with your programs, I hope you will find them
usefull...