Рубрики
Без рубрики

Быстрое введение: Хеширование

Что такое хеширование и как вы можете сделать это? Помечено с хешированием, питоном, алгоритмами.

Что это?

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

Вы, наверное, видел хеш-строку на странице загрузки некоторых из ваших любимых инструментов, пакетов или библиотек. Например, Kali Linux имеет один для каждого из его выпусков Отказ Но почему это?

Это необходимо убедиться, что исходный файл на их сервере такой же, как тот, который вы загрузили. Например, SHA-256 Хэш KALI ISO ниже.

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

Подожди … Но как вы хешь?

Отличный вопрос. Давайте получим технику! Я предполагаю, что у вас установлен Python 2, кстати.

1- Давайте импортируем библиотеку, нам нужно.

import hashlib as hash

2- Теперь давайте выберем наш алгоритм хеширования. Для получения дополнительной информации об их отличиях Проверьте это Отказ

sha = hash.sha256()

3- Мы в основном настроены, теперь мы продолжим проверить функцию на строке.

# Insert the string we want to hash
sha.update('Hello World!')
# Print the hexadecimal format of the binary hash we just created
print sha.hexdigest()
""" 4d3cf15aa67c88742e63918825f3c80f203f2bd59f399c81be4705a095c9fa0e """

Удивительно, есть хэш SHA-256 струны «Hello World!». Теперь мы докажем, что хеш отличается для аналогичных данных.

# Note the missing '!'
sha.update('Hello World')
print sha.hexdigest()
""" a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e """

Это совершенно другое. 4- Теперь, когда мы знаем, что наша функция работает, давайте попробуем его в файле

# WARNING: Do NOT do this with large files.
# For large files, see the snippet here -> https://gist.github.com/aunyks/042c2798383f016939c40aa1be4f4aaf
with open('kali.iso', 'rb') as kali_file:
  file_buffer = kali_file.read()
  sha.update(file_buffer)
  print sha.hexdigest()
""" 1d90432e6d5c6f40dfe9589d9d0450a53b0add9a55f71371d601a5d454fa0431 """

Там мы идем. У тебя сейчас довольно хорошие знания о перемешивании. Итак, иди. Продолжать! Защитите целостность ваших данных и хеш все вещи! Кроме того, следуйте за мной на Twitter и Гадость , пожалуйста.

Оригинал: “https://dev.to/aunyks/a-quick-introduction-hashing”