Signature Md5 implementation & Refactoring