If the type IHashEncryption was there before you replace the DLL, that's code for you are really using two different DLL versions even if they look the same.
What I like to do in these situations is to use a decompiler to decompile the DLL and then make sure the expected type is really there.
You can do this on the new DLL and then on the old one. Most often than not I realize that I was using different DLLs .
I really love DotPeek (free), so feel free to take a look onon this link.