Автор оригинала: Chris.
Быстрый ответ : Следующий одноклассник рассчитывает MD5 из строки «Hello World»
:
import hashlib as h;print(h.md5(b'hello world').hexdigest())
Фон : MD5 Message-digest это уязвимый криптографический алгоритм для сопоставления строки до 128-битной хэш-ценности. Вы можете использовать его в качестве контрольной суммы на данном тексте, чтобы убедиться, что сообщение не было повреждено. Однако вы не должны использовать его как защиту от вредоносных повреждений благодаря своей уязвимости. С современным оборудованием и алгоритмами легко взломать!
Проблема : Как генерировать сумму MD5 из строки?
Пример: скажем, у вас есть следующий текст строки:
text = 'hello world'
И вы хотите преобразовать его в значение HASH MD5:
5eb63bbbe01eeed093cb22bb8f5acdc3
Мы обсудим некоторые методы для достижения этого следующего.
Способ 1: hashlib.md5 () – multi-liner
Библиотека Hashlib предоставляет функцию md5 ()
Это создает объект, который может рассчитать хеш-значение данного текста для вас через метод Обновление ()
:
# Method 1: hashlib.md5() import hashlib m = hashlib.md5() text = 'hello world' m.update(text.encode('utf-8')) print(m.hexdigest()) # 5eb63bbbe01eeed093cb22bb8f5acdc3
Обязательно кодируйте строку как строку Unicode с помощью String.encode ('utf-8')
метод. В противном случае Python бросит ошибку.
Способ 2: hashlib.md5 () – тривиальный одноклассник
Как одноклассник, код выглядит нечитаемым:
# Method 2: One-Liner import hashlib; m = hashlib.md5(); m.update(text.encode('utf-8'));print(m.hexdigest()) # 5eb63bbbe01eeed093cb22bb8f5acdc3
Мы использовали стандартную технику для односилиризационных флорных фрагментов без блоков кода с отступом. Узнайте больше в нашем родственнике.
Похожие учебники: Как односиновый код?
Метод 3: Улучшенный одноклассник
Вы можете немного улучшить код, используя B '...'
строка вместо кодировать ()
Функция, чтобы сделать ее строкой Unicode:
# Method 3: One-Liner import hashlib as h;print(h.md5(b'hello world').hexdigest()) # 5eb63bbbe01eeed093cb22bb8f5acdc3
Я также инициализировал MD5
Объект с строкой Unicode напрямую, а не использовать Обновление ()
метод. Одноклассный теперь имеет минимальное количество персонажей – я не думаю, что это может быть сделано еще более лаконичным! 😉
Python One-Liners Книга
Python Programmemers улучшит свои навыки информатики с этими полезными одноклассниками.
Python One-listers научит вас читать и писать «одноклассники»: краткие заявления полезных функций, упакованных в одну строку кода. Вы узнаете, как систематически распаковать и понимать любую строку кода Python и писать красноречие, мощно сжатый Python, как эксперт.
Пять главных глав на пять глав обложки советы и трюки, регулярные выражения, машинное обучение, самые темы науки о данных и полезные алгоритмы. Подробные объяснения одноклассников вводят ключевые концепции компьютерных наук и повысить ваши кодировки и аналитические навыки. Вы узнаете о продвинутых функциях Python, такие как понимание списка, нарезки, нарезки, функции лямбда, регулярные выражения, карта и уменьшения функций и нарезки нарезки. Вы также узнаете, как:
• Используйте структуры данных для решения проблем реальных проблем, например, использование булевой индексации для поиска городов с загрязнением выше среднего • Используйте Numpy Основы, такие как массив, форма, ось, тип, вещание, расширенная индексация, нарезка, сортировка, поиск, агрегация и статистика • Рассчитайте базовую статистику многомерных массивов данных и алгоритмы K-означает для безоговорочного обучения • Создайте более усовершенствованные регулярные выражения с помощью группировки и названных групп, отрицательные LookAeads, сбежавшие символы, пробелы, наборы символов (и наборы отрицательных символов) и жадные/негридические операторы • Понимать широкий ассортимент темы компьютерных наук, включая анаграммы, палиндромы, сверты, перестановки, факториалы, простые числа, цифры фибоначчи, обфускации, поиск и алгоритмическую сортировку
К концу книги вы узнаете, как писать Python в его самых утонченных, и создавать краткие, красивые куски «Python Art» в простой строке.
Получите свой Python One-Liners сейчас !!
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.
Оригинал: “https://blog.finxter.com/how-to-get-md5-of-a-string-a-python-one-liner/”