proxy caching promise


I have set of promises connecting to server like this one:

function getSomething(data, moreData, evenMoreData){
    var dfd = new jQuery.Deferred();
    Dajaxice.myProject.getSomethong(function(data){
        dfd.resolve(data.result);
    }, {'data': data, 'moreData': moreData, 'evenMoreData':evenMoreData});
    return dfd.promise();
}

I want to define proxy function called cache, working like this:

cache(getSomething, [data, moreData, evenMoreData])

This function should return promise. The promise will be resolved immediately if 'getSomething' result was found in cashe, otherwise, original 'getSomething' promise will be returned.

I started to write a function:

function cache(funct, args){
    if(Modernizr.sessionstorage){
        var dfd = new jQuery.Deferred();
        var hash = SHA256(WHAT?????);
        var cache = sessionStorage[hash];
        if(cache)
            dfd.resolve(cache);
        else{
           funct.apply(null, args).then(function(result){
              sessionStorage[hash] = result;
              dfd.resolve(result);
           });    
        }
       return dfd.promise();  
     }
    return funct.apply(null, args);
}

The question is: how should I compute storage key? (i.e. what should I put in place of WHAT???)