Anyway, I thought I'd give it a go, and I'm pleased to say its incredibly easy if you have a CF server kicking around:
<cffile action="read" file="#form.fileupload#" variable="variables.myFile" />
<cfoutput>#hash(variables.myFile,"#form.sel_hash#")#</cfoutput>
Here's a slightly more completed code fragment if it helps:
<div class="jumbotron">
<h1>Hash Your File!</h1>
<cfif structKeyExists(form, "fileupload")>
<cffile action="read" file="#form.fileupload#" variable="variables.myFile" />
<p class="alert alert-info"><cfoutput>#hash(variables.myFile,"#form.sel_hash#")#</cfoutput></p>
<cfelse>
<p class="lead">I help you calculate the hash of a file</p>
</cfif>
<form class=".form-horizontal" method="POST" enctype="multipart/form-data" action="test3.cfm">
<select name="sel_hash">
<option value="MD5">MD5</option>
<option value="SHA">SHA</option>
<option value="SHA-256">SHA-256</option>
<option value="SHA-384">SHA-384</option>
<option value="SHA-512">SHA-512</option>
</select>
<br />
<div class="fileinputs">
<input name="fileupload" type="file" />
</div>
<br /><br />
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div><!-- /jumbotron -->