2014-12-12 5 views
1

Я слышал, что после шифрования чего-либо, используя алгоритм MD5, невозможно расшифровать данные. Но для любого шифрования должен быть способ дешифрования данных, не так ли? В противном случае, в чем нуждаются слова «Шифрование и дешифрование»?md5 Шифрование и дешифрование

Я не прав?

+0

MD5 не шифрование, это хеширование, которое не является обратимым. – user2313067

+2

md5 - хэш. хеш = мясорубка. корова входит, гамбургер выходит. Вы не можете взять этот гамбургер и воссоздать оригинальную корову. encryption = locker. данные поступают, блокируются. снова вставьте ключ, данные выходят. –

+0

Упс! Я не ожидал голосующих за этот вопрос. Я просто попросил несколько мнений. –

ответ

1

В принципе, MD5 не является методом шифрования.
Это Hash function, где вы потеряете данные из-за обработки данных в рамках этой функции. Таким образом, вы не получите старые данные. Таким образом, весь смысл хэша заключается в том, что это единственный способ. MD5 http://en.wikipedia.org/wiki/Cryptographic_hash_function ">cryptographic hash function, так что применимы следующие вещи:

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

Так что еще одно сомнение в том, что у вас может быть то, что, если кто-то знает ваш хеш-пароль, ответ прост, но вы в безопасности, потому что аутентификация входа в систему проверка конвертирует ввод пользователя в хеш-функцию, а затем проверяет с помощью БД. В этом случае для вашего хешированного значения будет получено новое значение Хэш.

+0

Большое спасибо за информацию –

+0

«Итак, вся суть хэша в том, что это единственный способ». - true только для криптографических хеш-функций. Существует множество алгоритмов, которые дешевле вычислять, но утечки данных. –

+0

@PauloScardine Yup, вы правы, забыл упомянуть об этом. – user1012181

0

MD5 - хеш-функция.

хэш-функции является любая функция, которая может быть использована для отображения цифровых данных произвольного размера цифровых данных фиксированного размера, с небольшими различиями в исходных данных, продуцирующих очень большие различия в выходных данных (источник: wikipedia).

Таким образом, исходные данные не сохраняются. Итак, почему вы используете функцию Hash? Он полезен для сравнения наборов данных произвольного размера: поскольку хеши могут быть короткими и иметь фиксированный размер, после вычисления любого сравнения очень дешево и предсказуемо - O (1) - независимо от того, насколько велики исходные данные.

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

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

+0

Большое спасибо за информацию –

0

Вот некоторое хорошее чтение:

https://en.wikipedia.org/wiki/MD5

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

Смежные вопросы