Hmacs

Please Review.