Обновление 2014 года.
Теперь есть способ получить Accept-Languages в Firefox и Chrome с помощью navigator.languages (работает в Chrome> = 32 и Firefox> = 32)
Кроме того, navigator.language в Firefox в эти годы отражает наиболее предпочтительный язык контента, а не язык пользовательского интерфейса. Но поскольку это понятие еще не поддерживается другими браузерами, это не очень полезно.
Итак, чтобы получить наиболее предпочтительный язык контента, когда это возможно, и использовать язык пользовательского интерфейса как резерв:
navigator.languages
? navigator.languages[0]
: (navigator.language || navigator.userLanguage)
Да, иначе MD5 был бы бесполезен для таких вещей, как проверка файла. Какую причину вы бы назвали недетерминированным результатом?
Да, MD5 является детерминированным, и это считается желательной характеристикой для многих применений функций дайджеста сообщений.
Что касается использования соли, то под этим вы действительно подразумеваете «изменение входной строки каким-то тонким способом», не так ли? И, конечно, это также является желательной характеристикой дайджестов сообщений, поскольку они создают (с очень высокой вероятностью) разный дайджест для другого сообщения.
Да, алгоритм хеширования всегда выдает один и тот же результат. Если вы используете одну и ту же соль, это также всегда будет давать один и тот же результат для данного входа.
Да, MD5 всегда выдает один и тот же сигнал при одинаковом входе. Вот как это используется для паролей. Вы сохраняете хэш в базе данных, затем, когда пользователь вводит свой пароль, он снова хэшируется и сравниваются два хэша.
ПРИМЕЧАНИЕ. MD5 не рекомендуется для хэширования паролей, поскольку он криптографически слаб. Существуют более подходящие криптографические хеши, такие как bcrypt . Однако исторически оно использовалось для этой цели.
Да. MD5 - это хеш-функция.
Это не означает, что MD5 уникален. Несколько входов могут отображаться на один и тот же хеш, но любой заданный вход имеет только один хеш.
Да. Хотя в некоторых случаях это создает тот же хеш для различных строк.