Существует ли способ протестировать, если строка является хешем MD5?

Дайте дополнительному аргументу значение по умолчанию.

function date ($format, $timestamp='') {
}
9
задан Theresa 11 November 2009 в 14:17
поделиться

5 ответов

Используйте Regex следующим образом:

public static bool IsMD5(string input)
{
    if (String.IsNullOrEmpty(input))
    {
        return false;
    }

    return Regex.IsMatch(input, "^[0-9a-fA-F]{32}$", RegexOptions.Compiled);
}
18
ответ дан 4 December 2019 в 06:30
поделиться

, если его длина составляет 32 байта, а 0-9 - это вероятно md5, но не 100%

3
ответ дан 4 December 2019 в 06:30
поделиться

Ну, хеш MD5 - это на самом деле просто двоичные данные - если у вас есть строка, то она предположительно закодирована каким-то образом, например, base64 или hex. Вы можете проверить, правильно ли закодирована строка для правильной длины двоичного файла (16 байт). Вот и все - хотя могут быть двоичными значениями, которые никогда не являются результатом хеширования каких-либо данных, я очень сомневаюсь, что вы сможете распознать такие значения. В идеале таких ценностей быть не должно, конечно ...

9
ответ дан 4 December 2019 в 06:30
поделиться

Хеш MD5 - это 128-битное значение. Обычно он представлен как байт [] с длиной 16 или как строка , где каждый байт представлен двумя шестнадцатеричными цифрами. Хеш MD5 не имеет внутренней структуры или какой-либо «сигнатуры», которая позволяет определить, является ли 128-битное значение хешем MD5 или нет.

5
ответ дан 4 December 2019 в 06:30
поделиться

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

1
ответ дан 4 December 2019 в 06:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: