So far, just one experiment:
I wanted to learn more about how cryptography works so I read RFC 1321 where the MD5 hashing function is described and implemented it myself in ruby.
Ideas on other experiments:
- look up the vulnerabilities people found and see if I can crack my own implementation by creating a collision?
- Try making a SHA1, SHA256 etc.? If they're similar enough maybe I could make an abstraction that would let me easily add more hashing functions.