inline message_digest_algorithm hmac_context::algorithm() const
		{
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
			//WARNING: Here we directly use the undocumented HMAC_CTX.md field.
			return message_digest_algorithm(m_ctx->md);
#else
			return HMAC_CTX_get_md(m_ctx);
#endif
		}
		inline message_digest_algorithm message_digest_context::algorithm() const
		{
			return message_digest_algorithm(EVP_MD_CTX_md(&m_ctx));
		}