Hashing API

Here is the Hashing API I have written as part of my GSoC project. Also added a  check of policy files for JCE in JCELoader. 
What's the reasoning behind this algorithm choice? If there's any particular reasoning how about a comment that mentions it?