Проверьте, является ли строка MD5 Hash

Я случайно остановил хэширование паролей до того, как они были сохранены, поэтому теперь в моей базе данных есть сочетание паролей MD5 и неподдерживаемых паролей.

Я хочу пропустить и хешировать те, которые не являются MD5. Можно ли проверить, является ли строка хешем MD5?

Related of "Проверьте, является ли строка MD5 Hash"

Вы можете проверить, используя следующую функцию:

function isValidMd5($md5 ='') { return preg_match('/^[a-f0-9]{32}$/', $md5); } echo isValidMd5('5d41402abc4b2a76b9719d911017c592'); 

MD5 (алгоритм Message-digest ) Хэш обычно выражается в текстовом формате в виде 32-разрядного шестнадцатеричного числа.

Эта функция проверяет, что:

  1. Он содержит только буквы и цифры (az, 0-9).
  2. Это 32 символа.

Может быть, немного быстрее:

 function isValidMd5($md5 ='') { return strlen($md5) == 32 && ctype_xdigit($md5); }