md5, sha1 and cr32 are all used for encrypting. But there is difference between all these.
md5 gives 160-bit value that mean it is very complex and there may be consumed years to get the original value for hackers.
sha1 is 128 bit while crc32 generates 32 bit hash value.
We use md5 not so frequently in our websites because it cause speed breakdown of website. Because we want to decrypt 160 bit hash code so it decreases the speed of website. If you want to not effect the speed of website and want to use encryption often then try cypto because it is 32 bit only and save your space also. If you have more space and want to use encryption not often for example just when user login then try md5 or sha1.