added sha256 and hmac
added unit tests
changed encode to make for consistancy
Merge pull request #2368 from Blank101/crypto

Added sha256 and hmac