Implement SHA-256

closes #38