Algoritmo simmetrico o asimmetrico, oppure semplicemente un algoritmo di hash? Chiave di quanti bit?
Per il PHP puoi usare la funzione crypt() (http://www.w3schools.com/php/func_string_crypt.asp) per effettuare semplicemente l'hashing (non esiste una funzione integrata di cifratura reversibile), mentre per il C non mi risulta che esistano funzioni standard, ma sotto Windows puoi comunque usare API come CryptEncrypt e CryptDecrypt (cifratura reversibile) e CryptHashData (hashing).