Когда и как используется CheckSum (MD5)

Summary

Что такое CheckSum?

Checksum — это строка чисел и букв, используемая для уникальной идентификации файла. Checksum чаще всего используется для проверки идентичности копии и оригинала файла, например, загруженных файлов установки продуктов ArcGIS или патчей.

Как работает CheckSum?

Файл обрабатывается особым алгоритмом, который создает уникальную буквенно-числовую строку контрольной суммы, также называемую «хэш». Различные файлы, даже имеющие минимальные отличия, имеют разные значения контрольных сумм.
Есть несколько алгоритмов, используемых для вычисления значения контрольной суммы. В Esri применяется алгоритм MD5. К другим алгоритмам относятся SHA-1, SHA-256 и SHA-512.

При каких обстоятельствах может потребоваться проверка значения CheckSum?

Файлы могут быть изменены во время загрузки, передачи и хранения.

Например, при возникновении проблем с сетью во время загрузки файла, он может оказаться некорректным. Также к повреждению файла могут привести проблемы с жестким диском.

Procedure

Как вычислить CheckSum файла (Windows)

  1. Откройте Windows Powershell из меню Windows.
  1. Введите Get-FileHash.
  1. Перетащите файл из Проводника Windows в окно Powershell. Файл не обязан находится на том же компьютере, где запущен Powershell. Если файл находится на сетевом диске, откройте папку с помощью пути UNC или подключите сетевой диск в Проводнике Windows, затем перетащите файл в окно Powershell, как показано ниже. 
  1. После имени файла введите пробел, затем -Algorithm MD5, чтобы применить алгоритм MD5. Готовая команда должна выглядеть так, как показано ниже, где <filepath> является полным путем к файлу. В этом примере используется путь C:\arcgis\ArcGISPro_23_167023. exe.  
Get-FileHash <filepath> -Algorithm MD5
  1. Нажмите Enter. Команда вернет значение контрольной суммы, вычисленное с помощью алгоритма MD5.

 

  1. Теперь полученное значение контрольной суммы можно сравнить со значениями, имеющимися в Esri. Например, загруженные продукты можно проверить, используя страницу Загрузки в My Esri:
    1. Перейдите на my.esri.com
    2. Щелкните Мои организации.
    3. Щелкните Загрузки.
    4. Выберите Просмотр загрузок для соответствующего продукта и его версии.
    5. На вкладке Загружаемые компоненты разверните Компоненты продукта и найдите соответствующий файл.
    6. Щелкните ссылку синего цвета Дополнительная информация, контрольная сумма (MD5) указана здесь.

Как вычислить CheckSum файла (Linux)

  1. Измените директорию на расположение файла.
  2. Введите md5sum, пробел и полное имя файла.
md5sum ArcGIS_Server_Linux_1061_164044.tar.gz
  1. Нажмите Enter, чтобы выполнить команду.
85bb36e13c3b00fabcd97ff3f244bd26 ArcGIS_Server_Linux_1061_164044.tar.gz
  1. Команда вернет значение контрольной суммы, вычисленное с помощью алгоритма MD5, с последующим именем файла.
  2. Теперь полученное значение контрольной суммы можно сравнить со значениями, имеющимися в Esri. Например, загруженные продукты можно проверить, используя страницу Загрузки в My Esri:
    1. Перейдите на my.esri.com.
    2. Щелкните Мои организации.
    3. Щелкните Загрузки.
    4. Выберите Просмотр загрузок для соответствующего продукта и его версии.
    5. На вкладке Загружаемые компоненты разверните Компоненты продукта и найдите соответствующий файл.
    6. Щелкните ссылку синего цвета Дополнительная информация. Контрольная сумма (MD5) указана здесь.

Related Information

  • Что такое Checksum (и почему это имеет значение)?

Last Published: 2/28/2023

Article ID: 000020408

Software: ArcGIS Data Store 11, 10.

9.1, 10.9, 10.8.1, 10.8, 10.7.1, 10.7, 10.6.1, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3 ArcGIS Server 11, 10.9.1, 10.9, 10.8.1, 10.8, 10.7.1, 10.7, 10.6.1, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3, 10.2.2, 10.2.1, 10.2, 10.1, 10 Portal for ArcGIS 11, 10.9.1, 10.9, 10.8.1, 10.8, 10.7.1, 10.7, 10.6.1, 10.6, 10.5.1, 10.5, 10.4.1, 10.4, 10.3.1, 10.3, 10.2.2, 10.2.1, 10.2 ArcGIS Pro 3.1, 3.0.3, 3.0.2, 3.0.1, 3.0, 2.9.6, 2.9.5, 2.9.4, 2.9.3, 2.9.2, 2.9.1, 2.9, 2.8.8, 2.8.7, 2.8.6, 2.8.5, 2.8.4, 2.8.3, 2.8.2, 2.8.1, 2.8, 2.7.7, 2.7.6, 2.7.5, 2.7.4, 2.7.3, 2.7.2, 2.7.1, 2.7, 2.6.9, 2.6.8, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.10, 2.6.1, 2.6, 2.5.2, 2.5.1, 2.5, 2.4.3, 2.4.2, 2.4.1, 2.4, 2.3.3, 2.3.2, 2.3.1, 2.3, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2, 2.1.3, 2.1.2, 2.1.1, 2.1, 2.0.1, 2.0, 1.4.1, 1.4, 1.3.1, 1.3, 1.2

Is This Content Helpful?

Yes

No

How can we make this better? Please provide as much detail as possible.

MD5-хэш в Python | Delft Stack

  1. Что такое хеш?
  2. Что такое MD5?
  3. Модуль Python hashlib
  4. Используйте алгоритм MD5 в Python

В этой статье будет продемонстрировано, как использовать хеш MD5 с помощью модуля Python hashlib.

Что такое хеш?

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

Что такое MD5?

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

Модуль Python

hashlib

Стандартная библиотека Python состоит из модуля, который реализует множество различных алгоритмов безопасного хеширования и дайджеста сообщений, называемых hashlib.

Он также может включать дополнительные алгоритмы, доступные в зависимости от библиотеки OpenSSL, которую Python использует на вашей платформе.

Чтобы использовать алгоритмы хеширования, импортируйте модуль hashlib.

import hashlib

Теперь мы можем использовать алгоритмы хеширования, поддерживаемые этим модулем. Чтобы проверить доступные хеш-алгоритмы в работающем интерпретаторе Python, используйте постоянный атрибут algorithmms_available.

import hashlib
print(hashlib.algorithms_available)

Выход:

{'md5', 'blake2s', 'sha256', 'sha384', 'sha3_512', 'blake2b', 'md4', 'md5-sha1', 'sha512_224', 'sha224', 'sha3_224', 'ripemd160', 'sha3_256', 'shake_256', 'sm3', 'shake_128', 'sha3_384', 'sha1', 'sha512_256', 'whirlpool', 'sha512'}

В списке выше представлены доступные алгоритмы в hashlib, включая доступные алгоритмы OpenSSL.

Чтобы проверить, какие алгоритмы хеширования гарантированно поддерживаются этим модулем на всех платформах, используйте постоянный атрибут algorithmms_guaranteed.

import hashlib
print(hashlib.algorithms_guaranteed)

Выход:

{'sha3_256', 'sha256', 'sha3_224', 'sha224', 'blake2s', 'sha3_512', 'shake_128', 'sha512', 'sha3_384', 'shake_256', 'md5', 'blake2b', 'sha384', 'sha1'}

Примечание: md5 находится в списке алгоритмов_гарантия, но некоторые совместимые с FIPS поставщики апстрима предлагают сборку Python, исключающую его.

Используйте алгоритм MD5 в Python

Чтобы использовать алгоритм md5, мы воспользуемся конструктором md5() и загрузим хэш-объект байтовыми объектами с помощью метода update() или передадим данные в качестве параметра конструктора.

Для получения хеш-значения используйте метод

digest(), который возвращает байтовый дайджест данных, переданных в хеш-объект.

import hashlib
md5_hash = hashlib.md5()
md5_hash.update(b'Hello World')
print(md5_hash. digest())

Python Tutorial: How to use Python …

Please enable JavaScript

Python Tutorial: How to use Python Requests Library

Выход:

b'\xb1\n\x8d\xb1d\xe0uA\x05\xb7\xa9\x9b\xe7.?\xe5'

Вы также можете передать данные в качестве параметра конструктору и получить хеш-значение.

import hashlib print(hashlib.md5(b'Hello World').digest())

Выход:

b'\xb1\n\x8d\xb1d\xe0uA\x05\xb7\xa9\x9b\xe7.?\xe5'

Подобно методу digest(), вы также можете использовать hexdigest(), который возвращает строковый объект дайджеста, содержащий только шестнадцатеричные цифры.

import hashlib
md5_hash = hashlib.md5()
md5_hash.update(b'Hello World')
print(md5_hash.hexdigest())

Выход:

b10a8db164e0754105b7a99be72e3fe5

Обратите внимание, что перед строковым литералом, переданным в метод update(), стоит буква b.

Используется для создания экземпляра типа bytes вместо типа str. Поскольку функция хеширования принимает в качестве параметра только последовательность байтов. Передача строковых объектов в метод update() не поддерживается.

Вы также можете выполнить несколько вызовов метода update(), что эквивалентно одному вызову со всеми объединенными аргументами.

import hashlib
first_hash = hashlib.md5()
first_hash.update(b'Hello World, Hello Python')
print(first_hash.hexdigest())
second_hash = hashlib.md5()
second_hash.update(b'Hello World,')
second_hash.update(b' Hello Python')
print(second_hash.hexdigest())

Выход:

b0f2921c8c0e63898b0388777908893a
b0f2921c8c0e63898b0388777908893a

Таким образом, мы можем использовать алгоритм хеширования md5 через модуль hashlib, в который можно загружать данные, передавая их в качестве параметра конструктора md5() или используя метод update(). Мы можем получить хеш-значение с помощью метода digest(), который возвращает объект bytes метода digest() или hexdigest(), который возвращает строковый объект дайджеста, содержащий только шестнадцатеричные цифры.

Что такое дайджест сообщения 5 (MD5)?

Что означает дайджест сообщения 5 (MD5)?

Дайджест сообщения 5 (MD5) — это хэш-функция, используемая в криптографии. Разработанный Рональдом Ривестом в 1991 году, Message Digest 5 выдает 128-битное результирующее хеш-значение. Подобно другим алгоритмам дайджеста сообщений, он был в значительной степени разработан для приложений цифровой подписи, которые безопасно используют большой сжатый файл.

Несмотря на то, что эта функция по-прежнему широко используется, безопасность этой функции серьезно скомпрометирована, и в результате большинству приложений, особенно связанных с правительством США, требуется семейство хеш-функций SHA-2 для криптографии. По данным Министерства внутренней безопасности США, Message Digest 5 считается поврежденным и непригодным для дальнейшего использования.

Advertisement

Techopedia объясняет дайджест сообщения 5 (MD5)

Подробная информация об алгоритме дайджеста сообщения 5 представлена ​​в RFC 1321. Алгоритм дайджеста сообщения 5 использует сообщение любой длины и выводит 128-битный дайджест сообщения. ввода. Алгоритм Message Digest 5 не требует больших таблиц замещения и является расширением алгоритма Message Digest 4. По сравнению с Message Digest 4, Message Digest 5 имеет более консервативный дизайн, но работает медленнее. Шаги, связанные с алгоритмом Message Digest 5, включают добавление битов заполнения, добавление представления дополненного сообщения к исходному сообщению, инициализацию буфера дайджеста сообщения, обработку сообщения блоками из 16 слов и, наконец, вывод результата. По сравнению с Message Digest 4, Message Digest 5 немного сложнее.

На 32-разрядной машине Message Digest 5 работает намного быстрее по сравнению с другими алгоритмами дайджеста сообщений. Message Digest 5 прост в реализации по сравнению с аналогичными алгоритмами дайджеста. Сложность получения одного и того же дайджеста из двух разных сообщений составляет порядка 2 64 операций.

Реклама

Поделись этим термином

Связанные термины
  • Шифрование
  • Дайджест сообщения
  • Хэш-функция
  • Дайджест сообщения 2
  • Стандарт шифрования данных
Похожие чтения
  • Знакомство с биткойнами: может ли работать виртуальная валюта?
  • Дистрибутивы Linux: какой из них лучше?
  • Более глубокое изучение концепций NoSQL
  • 10 самых высокооплачиваемых ИТ-сертификатов и способы их получения
  • Почему у ИИ есть предубеждения?
  • Решения для корпоративной кибербезопасности: 5 шагов, которые необходимо предпринять сегодня
Метки
КибербезопасностьШифрование

Актуальные статьи

ИТ Карьера

10 самых высокооплачиваемых ИТ-сертификатов и способы их получения

Личная техника

7 хитрых способов, которыми хакеры могут получить ваш пароль Facebook

Новые технологии

Изучение основ искусственного интеллекта: 8 лучших курсов по искусственному интеллекту для начинающих, которые стоит попробовать

Информационная безопасность

Как отследить IP-адрес

Что такое MD5 и почему он считается небезопасным? | Программа инженерного образования (EngEd)

20 апреля 2020 г.

Алгоритм дайджеста сообщения

MD5, или MD5, представляет собой криптографическую функцию хеширования. Это часть семейства Message Digest Algorithm, созданного для проверки целостности любого хэшируемого сообщения или файла. MD5 все еще используется в некоторых случаях; однако MD5 небезопасен и не должен использоваться ни в одном приложении.

Что такое MD5?

MD5 — это третья часть алгоритма Message Digest. Первая часть, известная как MD2, была создана в 1989 году и была специально разработана для работы на 16-разрядных процессорах. Этот алгоритм брал любое открытое текстовое сообщение и создавал 128-битный хэш для защиты этого сообщения. Сегодня MD2 считается слишком медленным и редко используется ( CompTIA Security+ 2008, подробный, 2009 ).

Следующим появился MD4. В отличие от MD2, этот стандарт был разработан для 32-битных компьютеров в 1990. Этот стандарт по-прежнему имеет серьезные недостатки, которые не позволили ему получить широкое признание, как указано в CompTIA Security+ 2008 в деталях .

MD5 был разработан Рональдом Ривестом в 1991 году для устранения недостатков MD4. Алгоритм использовал четыре переменные 32-битной длины в циклическом режиме для создания значения, которое затем используется для генерации хэша.

Для чего используется MD5?

MD5 использовался в различных случаях. Одним из больших применений является хранение паролей. Из-за ненадежности баз данных и необходимости где-то хранить пароли многие пароли хранились таким образом. Например, многие системы Linux использовали алгоритмы хеширования паролей, такие как MD5, для безопасного хранения паролей.

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

Следует ли его использовать?

CompTIA Security+ 2008 в деталях говорит, что «К середине 1990-х годов были выявлены слабые места в функциях сжатия, которые могли привести к коллизиям, и 10 лет спустя проводились успешные атаки на MD5. Большинство экспертов по безопасности рекомендуют заменить семейство хэшей MD более безопасным алгоритмом хеширования». Эти коллизии означают, что хакер или злонамеренный пользователь может создавать файлы с таким же точным хэшем, что и другой, что делает невозможным уверенность в том, что файл на самом деле не был подделан.

Но что использовать вместо этого? Далее автор говорит: «Большинство экспертов по безопасности рекомендуют использовать SHA-2 вместо MD5».

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