A RESTful interface for MD5 hashes

Or not quite. I had a need to generate MD5 hashes inside a Google Spreadsheet, but Google does not include an MD5 function (and neither does OpenOffice.org). Google does, however, support a function to get XML data and process it with Xpath. So assuming someone had created an MD5 generator on the web that was accessible via XML, I set to work. It turns out, nobody has ever needed this before. But that’s okay, I am a Real Programmer.

I installed Ruby on Rails and created a very simple controller for hashes:

class HashController < ApplicationController
    def md5
    result = { }
    result['data'] = params[:id]
    result['md5'] = Digest::MD5.hexdigest(params[:id])

    respond_to do |format|
        format.json { render :json =&gt; result }
        format.xml { render :xml =&gt; result }
    end
end

Which is now accessible via http://api.jameshoward.us/hash/md5/foo.json or foo.xml as appropriate. In addition, there is an sha1 method available. It’s all running on a minimal instance with Heroku, so please use it to your heart’s content.