Как сделать: Проверка SHA256

From Nxt Wiki
Jump to: navigation, search
This page is a translated version of the page How-To:VerifySHA256 and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎português do Brasil • ‎русский • ‎українська • ‎中文 • ‎中文(简体)‎

Эта статья кратко поясняет принципы работы и использования SHA256. Если Вы просто хотите знать, как проверить хеш SHA256 официального клиента Nxt, перейдите к разделу Как вычислить SHA256'.

1 Что такое SHA256?

SHA256 - это хеш-функция. Это означает, что это определенная формула для преобразования части цифровых данных, таких как абзац текста, или целый файл, в строку символов которая называется хеш данных. Например, это предложение:

Быстрая коричневая лиса перепрыгивает через ленивую собаку.

имеет следующий хеш SHA256

822D1F890FE6A2195BF207F48BE035D621080BBD18776B42CA38C0852BE58AC5

Хеш SHA256 - всегда имеет длину ровно 64 символа, не зависимо от размеров исходных данных. Каждый символ - это цифра от 0 до 9 и/или буква от A до F, которые формируют 4 бита информации. Таким образом, весь хеш равняется 64 x 4 = 256 битов информации. Именно поэтому в названии функции SHA256 присутствует 256.

В приведенном примере, сами данные (предложение) короче чем результат функции. Но как правило данные всегда превышают 256 бит.

2 Почему я должен защищаться при помощи хеша SHA256?

Вероятность того, что у двух файлов будет одинаковый хэш SHA256 очень мала, количество возможных комбинаций хэшей - 1077 (это 1 с 77 нулями). Это приводит к чрезвычайной сложности фальсификации данной операции; на сегодняшний день, никто не смог найти способ получить два разных файла с одинаковым или хотя бы схожими хэшами. Любые минимальные изменения исходных данных (строка или файл) всегда приводёт к изменению хэша SHA256. Для примера - возьмите предложение из примера и попробуйте у него изменить регистр буквы, добавить пробел или точку заменить на запятую, и пересчитать хэш - вы гарантированно получите сильно отличающийся результат !

Хеш позволяет Вам очень быстро проверять, идентичны ли два файла. Вместо того, чтобы сравнить все содержание обоих файлов, Вы можете просто сравнить их хеши.

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

  1. Автор файла, выгружает файл на какой либо ресурс, и публикует его SHA256 хэш
  2.  ????? (Файл может быть загружен на другие ресурсы другими пользователями. В некоторых случаях, при загрузке, файл может быть поврежден. А иногда, не очень хорошие люди, вводят вирусы/вредоносный код в файл перед выгрузкой.)
  3. Пользователь загружает этот файл с какого то ресурса
  4. Пользователь рассчитывает SHA256 хэш этого файла, и сравнивает с тем хэшем который опубликовал автор.
  5. Если оба хэша идентичны, пользователь, может быть уверен, что скачал правильный файл (без повреждений и/или умышленной модификации). Если они отличаются, пользователь сразу понимает, что у него неправильный файл, который отличается от оригинального, созданного автором, и должен повторно загрузить его, и возможно из другого источника.

Воспринимайте хэш как краткую характеристику (или паспорт) большого файла

3 Как мне вычислить SHA256 хэш файла?

Самый простой способ - использовать on-line калькулятор SHA256 хэша типа online-convert.com. Выгрузите свой файл используя кнопку "Browse", затем нажмите "Convert File". После небольшого ожидания, сайт покажем вам, вычисленный хэш для вашего файла. Если вы не хотите использовать on-line сервисы для вычисления SHA256 хэша, существует много бесплатных, свободно распространяемых SHA256 калькуляторов которые вы сможете запустить на Windows или MacOS, для примера Hashtab

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

После загрузки .zip файла из https://www.jelurida.com/nxt-client.zip, содержащего официальный клиент Nxt, вычислите его хеш SHA256, используя инструкции выше. Если Вы видите

452f7320ea806c8e7cc6d87b85fff2085320043d0c2f5e80e799802e2b94abed nxt-client-1.11.14.zip

(source: Jelurida Release) - How to verify SHA256 checksums

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


4 Можно ли использовать SHA256 для других целей?

Да! Фактически, SHA256 - один из алгоритмов, который используется, чтобы зашифровать и защитить транзакции Nxt.

5 Существуют ли другие хэш функции?

Да!

Одна из них, о которой вы скорее всего слышали это md5. Как и SHA256, md5 генерирует строку символов (но в половину длины SHA256). И даже при более малой длине хэша, это все равно дает огромное число возможных хешей. Таким образом, md5 все еще полезен в проверке на непреднамеренные ошибки во время загрузок, и на сегодня достаточно широко используется.

Но в отличие от SHA256, md5 не безопасен. Уже найдены способы обращать его, и существует возможность создавать 2 разных файла, у которых будет один и тот же md5 хеш. Таким образом, не рекомендуется использовать md5, как метод для безопасного распространения файлов и выявления наличия умышленных изменений в них.