Дайте дополнительному аргументу значение по умолчанию.
function date ($format, $timestamp='') {
}
Используйте Regex следующим образом:
public static bool IsMD5(string input)
{
if (String.IsNullOrEmpty(input))
{
return false;
}
return Regex.IsMatch(input, "^[0-9a-fA-F]{32}$", RegexOptions.Compiled);
}
, если его длина составляет 32 байта, а 0-9 - это вероятно md5, но не 100%
Ну, хеш MD5 - это на самом деле просто двоичные данные - если у вас есть строка, то она предположительно закодирована каким-то образом, например, base64 или hex. Вы можете проверить, правильно ли закодирована строка для правильной длины двоичного файла (16 байт). Вот и все - хотя могут быть двоичными значениями, которые никогда не являются результатом хеширования каких-либо данных, я очень сомневаюсь, что вы сможете распознать такие значения. В идеале таких ценностей быть не должно, конечно ...
Хеш MD5 - это 128-битное значение. Обычно он представлен как байт []
с длиной 16 или как строка
, где каждый байт представлен двумя шестнадцатеричными цифрами. Хеш MD5 не имеет внутренней структуры или какой-либо «сигнатуры», которая позволяет определить, является ли 128-битное значение хешем MD5 или нет.
Первое, что нужно сделать, это изучить файл чтобы выяснить, как кодируются хэши MD5, затем спроектируйте соответствие на основе этого.