md5, sha1, sha256, sha512: use openssl routines if available