Результат md5, хешируют последовательный или зависимый сервера?

Я делаю хеш md5 и просто хочу удостовериться результат:

md5.ComputeHash(bytePassword);

Последовательно независимо от сервера?

например, окна 2003/2008 и 32/64 бита и т.д.

11
задан Blankman 12 March 2010 в 21:09
поделиться

4 ответа

Да, это согласованно, спецификация алгоритма md5 определяет его независимо от платформы.

18
ответ дан 3 December 2019 в 03:18
поделиться

Хеширование MD5 [система / время / все, кроме ввода] не зависит

1
ответ дан 3 December 2019 в 03:18
поделиться

Результатом хеширования md5 является число. Число, возвращаемое для данного ввода, всегда одно и то же, независимо от того, какой сервер или даже платформу вы используете.

Однако выражение числа может отличаться. Например, 1 и 1.0 - это одно и то же число, но они выражаются по-разному. Точно так же некоторые платформы возвращают хэш, отформатированный немного иначе, чем другие. В этом случае у вас есть массив байтов, и его можно довольно безопасно передавать. Просто будьте осторожны с тем, что вы делаете после преобразования в строку.

3
ответ дан 3 December 2019 в 03:18
поделиться

MD5 не зависит от операционной системы и архитектуры. Поэтому он является "последовательным".

Однако, MD5 принимает на вход произвольную последовательность битов, а выдает последовательность из 128 битов. Во многих ситуациях вам нужны строки. Например, вы хотите хэшировать пароль, а пароль изначально является строкой. Преобразование этой строки в последовательность битов не является частью самого MD5, и существует несколько соглашений. Я не знаю точно о C#, но эквивалентный метод Java String.getBytes() будет использовать "charset по умолчанию платформы", который может меняться в зависимости от установки операционной системы. Аналогично, вывод MD5 часто преобразуется в строку с шестнадцатеричной нотацией, и она может быть прописной или строчной или какой-либо другой.

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

6
ответ дан 3 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

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