ماهو الفرق بين دوال التشفير هذه

openssl_encrypt()

و md5() و sha1()

ومتى يفضل أستخدام أحداهن على الأخريات،

وهل يوجد دوال لفك تشفير md5() و sha1() ;