WordPress at a glance
function is not described

verify_file_md5() WP 3.7.0

Calculates and compares the MD5 of a file to its expected value.

No Hooks.

Return

true/false/WP_Error. True on success, false when the MD5 format is unknown/unexpected, WP_Error on failure.

Usage

verify_file_md5( $filename, $expected_md5 );
$filename(string) (required)
The filename to check the MD5 of.
$expected_md5(string) (required)
The expected MD5 of the file, either a base64-encoded raw md5, or a hex-encoded md5.

Changelog

Since 3.7.0 Introduced.

Code of verify file md5: wp-admin/includes/file.php WP 5.2.2

<?php
function verify_file_md5( $filename, $expected_md5 ) {
	if ( 32 == strlen( $expected_md5 ) ) {
		$expected_raw_md5 = pack( 'H*', $expected_md5 );
	} elseif ( 24 == strlen( $expected_md5 ) ) {
		$expected_raw_md5 = base64_decode( $expected_md5 );
	} else {
		return false; // unknown format
	}

	$file_md5 = md5_file( $filename, true );

	if ( $file_md5 === $expected_raw_md5 ) {
		return true;
	}

	return new WP_Error( 'md5_mismatch', sprintf( __( 'The checksum of the file (%1$s) does not match the expected checksum value (%2$s).' ), bin2hex( $file_md5 ), bin2hex( $expected_raw_md5 ) ) );
}