Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Эта статья участвовала в "Проект «Звезда раскопок»”, чтобы выиграть творческий подарочный пакет и бросить вызов творческим поощрительным деньгам.
Сегодня поговорим о шифровании, то есть о научно-популярном md5.
Принцип алгоритма MD5 можно кратко описать следующим образом: код MD5 обрабатывает входную информацию в 512-битных группах, и каждая группа делится на 16 32-битных подгрупп.После последовательности обработки выход алгоритма состоит из четырех Состоят из 32-битных пакетов, объединение этих четырех 32-битных пакетов создаст 128-битное хэш-значение.
Основные возможности MD5: Необратимо, значение MD5 одних и тех же данных должно быть одинаковым, а значение MD5 разных данных отличается
Теоретически MD5 может соответствовать бесконечному количеству исходных текстов, потому что MD5 ограничен, а исходный текст может быть бесконечным. Например, основной метод MD5 отображает «строку байтов произвольной длины» в 128-битное большое целое число, то есть всего существует 2 ^ 128 возможностей, что составляет примерно 3,4 * 10 ^ 38. Это число ограничено, но мир Существует бесчисленное множество возможностей для исходного текста, которые можно использовать для шифрования
Поскольку md5 необратим, оператора расшифровки нет. Так где же широко используется md5?
Для управления паролем
Когда нам нужно сохранить некоторую информацию о пароле для подтверждения личности, если вы сохраняете информацию о своем пароле напрямую в открытом режиме, вы не используете никаких мер конфиденциальности, системные администраторы могут легко получить исходную информацию о пароле, как только эта информация просочится, пароль также легко расшифровывается. В целях повышения безопасности необходимо шифровать информацию, требующую конфиденциальной информации в базе данных, так что даже если кто-то получит всю базу данных, при отсутствии алгоритма расшифровки нельзя будет получить информацию об исходном пароле. Алгоритм MD5 может очень хорошо решить эту проблему.
Когда мы входим в систему, нам нужно сравнить, совпадает ли значение md5 пароля, введенного клиентом, со значением базы данных.Если значение md5 совпадает, вход в систему выполнен успешно, в противном случае вход невозможен. Поэтому в нормальных условиях пароли на некоторые веб-сайты или программное обеспечение, независимо от уровня компании, получить невозможно. По нашему мнению, значение MD5 — это просто строка случайных искаженных символов. Так что в общем, если мы потеряем пароль, мы можем только сбросить пароль.Мы снова зашифруем сохраненный пароль с помощью md5, перезаписав исходный, который был сохранен, и сохраненный в базе данных станет другим значением md5.
Вышеприведенное суммирует шифрование MD5, обычно используемое внутренними серверами.Сообщите нам, как база данных хранится в популярной науке. В практических приложениях есть много модулей md5, которые можно использовать напрямую, и мы можем использовать их напрямую.
import hashlib
m = hashlib.md5()
m.update(b'123')
m.hexdigest()
#加密后结果 202cb962ac59075b964b07152d234b70
Вот простой случай, сделанный на питоне.
Не стесняйтесь обсуждать со мной программу, а также отвечать на вопросы.Обратите внимание на общедоступный номер: Поэтический код, Подружиться.