md5('this') => 9e925e9341b490bfd3b4c4ca3b0c1ef2
md5('that') =>21582c6c30be1217322cdb9aebaf4a59
So, way back in March of this year, man that feels like three years ago, I created a simple web service that creates MD5, SHA1, and CRC32 hashes/encryptions.
I did it for work.
There was a developer using this web scripting language that I have never heard of called H2O. This has to be about the most useless language I have ever come across. Notably, because it did not have the ability to natively generate an MD5 hash.
Well, Jaduka's APIs use a check value that is computed by generating a MD5 hash from a privateKey (aka secret) and one of the parameters in the method.
i.e. huge FSCKING problem for H2O programmers.
So, after learning a little bit more about what the language could do, I determined that it did have the ability to pull in data from an HTTP-Query-string request, aka REST web service.
I did only a little bit of looking around before I registered
www.hashserver.com and created my MD5 hashing web service.
For the longest time there was no real traffic on the site to speak of, except for my own usage of it. I routinely use it to generate hashes when I am working with the API manually (ie http-query-string) for operations that generating a full script seems a bit overkill.
Anyway, I posted a comment on a blog not too long ago that was talking about encryption (MD5s vs Salt). Given the topic, I posted the www.hashserver.com at the end of my comment.
While, I still need to pull all of the data for this from the very simple table I am store some stats in (dateTimeStamp, ipAddress, type of hash (ie MD5, SHA1, CRC32)). I am pretty sure the increase in hash creations spiked after I made that post.
Given that the number of records in the table went from a couple of thousand, to about 260,000+ thousand, I figured I should add a counter to the front page. I just finished that part up. Nothing too fancy, just a simple counter.
I do want to add a Google Map to the main page as well to show the IP addresses that have been using my HashServer. There are just under 400 unique IP Addresses creating hashes.
However, when I ran some queries to see how diversified the hash generation is, I saw that the bulk of the hash generation came from only a handful of IP Addresses. This caused me to investigate who owned the IP Addresses, the heavy user ones are owned by Yahoo!.
I confirmed my suspicion that someone had embedded a call to my HashServer into some Yahoo! Pipes apps that you can build,
thanks to some easy searching on Google.
I am really not too sure what the three apps are doing with the hashes that are generated, I will take later some time to investigate later.
In the meantime, it gives me a sense of pride that something I whipped together in about an hour and haven't touched since 3/9/2007 has now handled over 260K requests and is actually useful to some folks.
I mean honestly, I sort of did it all as a joke, the "Question" and "Answer" on the HashServer homepage should be proof enough of that.
Tonight in doing some link searching for this blog post I did find md5oogle, a md5 hash service website. However, not technically a webservice from an API perspective. And it is doing it for a completely different purpose. Oh yeah, I don't store the content being hashed in the database, I mean with just the 260K requests the table is already about to break the 12MB level. If I was storing the hash output and the content that went into making, there is no telling how big that table would be by now.
Oh well,
I need to get back to finishing up a few things so I can head home.
PS: My darling wife, before you freak out. I was home at 5:20pm today and let the dogs out. Love ya!