Added some test cases && Updated HMAC to fit Printable protocol.