Опасны ли ошибки хеша

Ошибки хеша во время пользования торрент-клиентом возникают довольно редко, зато почти всегда в самый неподходящий момент. Например, вы нашли какой-то интересный фильм или программу, которая в чём-то уникальна и не слишком распространена на просторах интернета. Открываете торрент-клиент, ставите на закачку, причём скачивается файл, как по закону подлости, с единственного источника, но не тут-то было. Закачка светится красным цветом и появляется комментарий «Отказано в доступе (Hash)».

Решение ошибок в работе торрента

Как решить ошибку закачки торрента «Отказано в доступе (Hash)».

В итоге закачка прервана, другие источники отсутствуют, а устранить досадную проблему без определённых знаний не выйдет. Однако не стоит отчаиваться — ещё не всё потеряно! Сейчас мы подробно изучим причины сбоя и вместе решим эту задачу.

Хеширование данных. Суть ошибки

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

Сообщение программы

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

Как понять, что у вас ошибка хеша

Для ошибки хеша можно выделить следующие характерные признаки:

  • Скачивание файла то и дело прерывается, несмотря на то, что идёт из нескольких источников.
  • Во время загрузки файла обнаруживается, что его размер больше заявленного. То есть, допустим, вы качали программу размером 400 МБ, но, закачав 600 МБ, загрузка так и не завершилась.
  • Одна из закачек стопорится, недогрузив всего один-два процента.
  • При закачке торрента, который скачивают, помимо вас, другие пользователи, вы замечаете, что количество источников не изменяется (хотя количество источников должно увеличиваться, раз этот торрент одновременно закачивает много человек). Это происходит потому, что у других пользователей симптом, описываемый в предыдущем пункте — загрузка остановилась, недокачав один-два процента.

Правильная работа клиента выглядит так:

Процесс закачки

Как исправить ошибку хеша

С принципом хеширования и особенностями работы торрент-клиента мы уже познакомились в начале статьи. Для поиска методов решения придётся немного углубиться в эту тему.

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

Второй метод, скорее, относится к рекомендациям и является логическим продолжением первого. Есть программы для торрентов, которые не отбрасывают некорректные файлы (такие как Transmission и BitTornado). Всё бы ничего, но, как сказано выше, закачка одного и того же сектора повторяется бесчисленное множество раз, из-за чего объём скачанной информации непрерывно растёт, а это может негативно влиять на работоспособность программы и операционной системы в целом. Чтобы повысить надёжность, мы советуем не использовать проблемные программы.

Чтобы исправить ошибку хеша, повторите хеширование раздачи. Для этого выберите из списка необходимую закачу, кликните правой клавишей мыши и выберите опцию «Обновить хеш».

Обновление хэша

Далее, снова кликните правой кнопкой мыши на загрузке и выберите пункт «Сброс банов» — эта опция снимет блокировку с проблемных источников. Если проблемных раздач несколько, повторите процедуру для каждой из них.

«Сброс банов»

Делаем выводы

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

ВАЖНО. При создании раздачи музыкальных файлов удостоверьтесь в том, что ваш аудиоплеер не настроен на автоматическое изменение тегов. 

Содержание

  • 1 Что такое торрент?
    • 1.1 Как происходит скачивание?
    • 1.2 Куда и как теряются Мегабайты?
  • 2 Ошибки хеша
    • 2.1 Что это за ошибка, и как ее диагностировать
    • 2.2 Разновидности проблем с хешем
  • 3 Как выявить и исправить ошибки хеша в торренте
    • 3.1 Как выявить ошибки?
    • 3.2 Как исправить?

Что такое торрент?

Торрент — из английского BitTorrent — «битовый поток». Это сеть для обмена информацией. Она позволяет скачивать части нужного нам файла с других компьютеров. Одним словом, при скачивании мы подключаемся к тем компьютерам, у которых на жёстких дисках уже есть данный файл или его часть.

разбираемся в тонкостях торрентов

Как происходит скачивание?

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

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

Внимание!
Главная особенность торрента – передача файлов по частям.

Теперь, зная процесс изнутри, ответим на главный вопрос: откуда берётся потерянная информация?

Посмотрим на скриншот с моего ноутбука. Во вкладке Информация видим: 147 КБ потеряно.

ee0dc655da02e88747edcd64313856a3708-650.

Куда и как теряются Мегабайты?

Торрент-клиент, принимая данные, сверяет хеш-сумму.В случае если сумма не совпадает, торрент скачивает этот кусок файла снова.

Почему сумма могла не совпасть? Ошибки при приёме файлов, повреждённые файлы и т.д. Именно так и возникают излишки. Не получилось с первого раза скачать, клиентом делается вторая попытка, потом третья и т.д.

Ошибки хеша

В сетях P2P хеш задействуется для того чтобы проверить целостность скачиваемого или раздаваемого файла. К примеру, ошибка хеша обязательно возникнет, если раздающий (сидер) внес изменения в раздаваемый файл или повредил его. Очень часто подобные ситуации происходят при скачивании музыкальных аудиофайлов.

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

Что это за ошибка, и как ее диагностировать

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

В связи с чем это может произойти? Можно было бы предположить, что при нарушении соединения, данные были получены не полностью. Но это сразу можно исключить. Современные торрент-клиенты имеют в своем арсенале функционал докачки файлов при обрыве связи.

Так в чем же причина? Чаще всего — данные в раздаче были обновлены, пока идет процесс загрузки. Раздающий удаляет, добавляет или изменяет исходные файлы. В итоге у вас будет расхождение в общем списке полученных данных — отсюда и ошибка.

Какие симптомы могут на это указывать?

  • Раздача останавливается, дойдя до 99%.
  • Объем полученных данных больше того, который был заявлен изначально.
  • Множественные обрывы закачки.

Отдельно нужно остановиться на втором пункте. В том случае, если раздающий обновляет данные, то ваш торрент-клиент пытается автоматически загрузить все доступные (в том числе и новые) файлы. Отсюда больший объем полученной информации.

Разновидности проблем с хешем

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

…………………………………………………………………………………………………………………………………………………………………………..

……………………………………………………………………………………………………………………………………………………………………………

…………………………………………………………………………………………………………………………………………………………………………..

как перехешировать торрент

«Ошибка хеш-суммы» происходит в том случае, когда данные не проходят проверку на целостность, то есть они попросту испорчены. Кстати, если объем испорченных данных небольшой, беспокоиться не следует – торрент-клиент отбрасывает эти данные, но затем загружает их вновь.

Как выявить и исправить ошибки хеша в торренте

Для начала разберемся с признаками:

  • При скачивании торрента с достаточным количеством раздающих, загрузка постоянно обрывается, хотя файл скачался полностью.
  • После загрузки торрента вы обнаружили, что скачали больше заявленного в описании объема (указан вес в 400 Мб, а вы загрузили 600 Мб). Это излишки.
  • Вы сидируете файл к которому присоединились несколько личеров, но даже по прошествии длительного времени эти пользователи не присоединяются к сидерам, а пиры показывают, что закачка у них остановилась на 98-99%.
  • Среди загружаемых вами торрентов есть такой, чья загрузка останавливается на 98-99%.

Рассмотрим несколько способов, которые помогут исправить ошибки хеша:

  • Во время приема данных, uTorrent сравнивает хеш-сумму, и если она не совпадает, то он загружает эту часть снова. Именно из-за этого и появляются излишки. Некоторые торрент-клиенты могут заблокировать пользователя, отправляющего такие неверные данные. С помощью личных сообщений, на трекере можно обратиться к человеку и попросить перезалить раздачу.
  • Решить вопрос можно и самостоятельно, попробовав перехешировать торрент. Выберите необходимое задание и кликните правой кнопкой мышки по нему. Найдите пункт «Обновить хеш».
    Пересчет хеша в uTorrent

Для предотвращения возникновения таких неприятностей используйте проверенные клиенты, к примеру – uTorrent. Не редактируйте самостоятельно теги у файлов и убедитесь, что ваш плеер не меняет их автоматически.

Как выявить ошибки?

Прежде чем выяснить как перехешировать торрент, разберемся с признаками проблемы:

  • В течение скачивания раздачи, характеризующейся достаточным числом раздающих, происходят постоянные обрывы загрузки.
  • После того как все файлы из раздачи загружены, обнаруживается, что объем полученных данных сильно превышает заявленный в описании.
  • Выступая в качестве сидера, пользователь обнаруживает, что у раздаваемого файла есть несколько личеров, но они, даже по истечении большого отрезка времени, не присоединяются к сидерам. При этом показатель загрузки у пиров замирает на уровне 98-99%.
  • Среди загружаемых раздач присутствуют те, загрузка которых остановилась на 98-99%.

Как исправить?

Самый простой способ — обновить хеш-сумму.

Для этого находим в списке проблемную раздачу. Нажимаем на нее правой кнопкой мыши, и выбираем пункт «Пересчитать хеш».

Пересчитать хеш для раздачи

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

Источники

  • http://vovet.ru/q/chto-oznachaet-poteryano-8-megabajt-kogda-skachivaesh-torrent-fajl-zp.html
  • https://www.syl.ru/article/306504/kak-pereheshirovat-torrent-ustranit-oshibki-i-dokachat-faylyi
  • https://abouttorrent.ru/faq/chto-takoe-oshibka-hesha.html
  • https://utorrentsoft.org/faq-utorrent/chto-takoe-oshibka-hesha-v-torrent-kliente-utorrent

[свернуть]

Содержание

  1. Что означает «потеряно 8 мегабайт» когда скачиваешь торрент файл?
  2. Что такое торрент?
  3. Как происходит скачивание?
  4. Куда и как теряются Мегабайты?
  5. Не вредно ли это для лептопа?
  6. Что такое ошибка хеша в торренте
  7. Что это за ошибка, и как ее диагностировать
  8. Как исправить?
  9. Ошибки хеша в uTorrent — что это такое?
  10. Ответы:
  11. Как перехешировать торрент, устранить ошибки и докачать файлы
  12. Ошибки хеша
  13. Разновидности проблем с хешем
  14. Как выявить ошибки?
  15. Как перехешировать торрент?
  16. Решение проблемы ошибки хеша торрента
  17. Хеширование данных. Суть ошибки
  18. Как понять, что у вас ошибка хеша
  19. Как исправить ошибку хеша
  20. Делаем выводы

Что означает «потеряно 8 мегабайт» когда скачиваешь торрент файл?

Вот скачивал игрушку и столкнулся с даным вопросом. Что все таки это означает? Не вредно ли это для лептопа?
Спасибо!

Мы часто скачиваем из интернета различную информацию: музыку, фильмы, книги, тексты. Всё чаще мы делаем это при помощи Торрента. Мы получаем информацию, так откуда же появляется некоторое количество потерянных Байт? Влияет ли это на качество полученных нами файло? Чтобы ответить на поставленные вопросы, нужно чётко представлять себе, что такое торрент.

Что такое торрент?

Торрент — из английского BitTorrent — «битовый поток». Это сеть для обмена информацией. Она позволяет скачивать части нужного нам файла с других компьютеров. Одним словом, при скачивании мы подключаемся к тем компьютерам, у которых на жёстких дисках уже есть данный файл или его часть.

Как происходит скачивание?

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

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

Внимание!
Главная особенность торрента – передача файлов по частям.

Теперь, зная процесс изнутри, ответим на главный вопрос: откуда берётся потерянная информация?

Посмотрим на скриншот с моего ноутбука. Во вкладке Информация видим: 147 КБ потеряно.

Куда и как теряются Мегабайты?

Торрент-клиент, принимая данные, сверяет хеш-сумму.В случае если сумма не совпадает, торрент скачивает этот кусок файла снова.

Почему сумма могла не совпасть? Ошибки при приёме файлов, повреждённые файлы и т.д. Именно так и возникают излишки. Не получилось с первого раза скачать, клиентом делается вторая попытка, потом третья и т.д.

Не вредно ли это для лептопа?

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

Источник

Что такое ошибка хеша в торренте

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

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

Что это за ошибка, и как ее диагностировать

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

В связи с чем это может произойти? Можно было бы предположить, что при нарушении соединения, данные были получены не полностью. Но это сразу можно исключить. Современные торрент-клиенты имеют в своем арсенале функционал докачки файлов при обрыве связи.

Так в чем же причина? Чаще всего — данные в раздаче были обновлены , пока идет процесс загрузки. Раздающий удаляет, добавляет или изменяет исходные файлы. В итоге у вас будет расхождение в общем списке полученных данных — отсюда и ошибка.

Какие симптомы могут на это указывать?

  • Раздача останавливается, дойдя до 99%.
  • Объем полученных данных больше того, который был заявлен изначально.
  • Множественные обрывы закачки.

Отдельно нужно остановиться на втором пункте. В том случае, если раздающий обновляет данные, то ваш торрент-клиент пытается автоматически загрузить все доступные (в том числе и новые) файлы. Отсюда больший объем полученной информации.

Как исправить?

Самый простой способ — обновить хеш-сумму .

Для этого находим в списке проблемную раздачу. Нажимаем на нее правой кнопкой мыши, и выбираем пункт «Пересчитать хеш» .

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

Источник

Ошибки хеша в uTorrent — что это такое?

При скачивании файлов с трекеров программа uTorrent, помимо прочей информации, показывает сколько потеряно МБ и количество ошибок хеша. Количество этих ошибок может достигать десятков. Что означают эти ошибки?

Например, если скачивается раздача размером в несколько десятков ГБ, и она скачивается в несколько приёмов в течении дня, то при каждом запуске компьютера мюТоррент перед продолжением скачивания делает проверку уже скаченного. Могут-ли эти ошибки повлиять на оригинальность скаченных файлов, не окажется-ли эта раздача при наличии ошибок хеша бесполезной, например, если это игры, программы?

Андрей задал(а) этот вопрос 28 марта 2015

Ответы:

Женя | 23 сентября 2016, 18:14
При скачке Программ ошибка хеша на исходный файл не влияет, игра будет работать программа запуститься

adam | 1 апреля 2015, 15:21
Окажется. Перечитать надо торрент, а то риск есть и немалый. Нужно перехешировать закачку.

Марфа | 31 марта 2015, 10:50
Влиять на работоспособность раздачи они не могут. Правильнее говорить о том, что они сигнализируют о наличии неких проблем в раздаче. Хеш используется практически во всех р2р сетях для проверки целостности (правильности) файла. Но тут могут быть проблемы не только со стороны скачивающего, но и со стороны сидера.

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

Перехешируйте файл — по торренту правой кнопкой мыши — Сброс банов. Обновить хеш найдите во вкладке «Дополнительно».

Источник

Как перехешировать торрент, устранить ошибки и докачать файлы

Очень большое количество людей используют преимущества интернет-протокола BitTorrent. Эта замечательная технология позволяет очень быстро получить либо передать любые файлы большого объема. Современные торрент-клиенты необычайно просты в эксплуатации и освоении.

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

Ошибки хеша

В сетях P2P хеш задействуется для того чтобы проверить целостность скачиваемого или раздаваемого файла. К примеру, ошибка хеша обязательно возникнет, если раздающий (сидер) внес изменения в раздаваемый файл или повредил его. Очень часто подобные ситуации происходят при скачивании музыкальных аудиофайлов.

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

Разновидности проблем с хешем

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

«Ошибка хеш-суммы» происходит в том случае, когда данные не проходят проверку на целостность, то есть они попросту испорчены. Кстати, если объем испорченных данных небольшой, беспокоиться не следует – торрент-клиент отбрасывает эти данные, но затем загружает их вновь.

Как выявить ошибки?

Прежде чем выяснить как перехешировать торрент, разберемся с признаками проблемы:

  • В течение скачивания раздачи, характеризующейся достаточным числом раздающих, происходят постоянные обрывы загрузки.
  • После того как все файлы из раздачи загружены, обнаруживается, что объем полученных данных сильно превышает заявленный в описании.
  • Выступая в качестве сидера, пользователь обнаруживает, что у раздаваемого файла есть несколько личеров, но они, даже по истечении большого отрезка времени, не присоединяются к сидерам. При этом показатель загрузки у пиров замирает на уровне 98-99%.
  • Среди загружаемых раздач присутствуют те, загрузка которых остановилась на 98-99%.

Как перехешировать торрент?

Существует простой способ, который почти всегда помогает победить ошибки хеша.

Самостоятельно решить проблему можно, буквально совершив пару кликов кнопками мыши. Во всех известных торрент-клиентах достаточно остановить раздачу, нажать на ее наименование правой кнопкой мыши и в контекстном меню кликнуть по пункту «Пересчитать хеш». В ту же секунду начнется проверка, и по ее завершении проблем торрент-файл больше не доставит.

Обратите внимание, что пункт пересчета хеша в меню раздачи может называться по-разному. В популярных программах-клиентах встречаются названия «Force recheck», «Force Re-check», «Проверить принудительно» и тому подобные. Пользователь может смело выбирать эти пункты, и вопросов о том, как перехешировать торрент и докачать файлы, больше возникнуть не должно – этот простейший способ помогает в большинстве случаев.

Источник

Решение проблемы ошибки хеша торрента

Ошибки хеша во время пользования торрент-клиентом возникают довольно редко, зато почти всегда в самый неподходящий момент. Например, вы нашли какой-то интересный фильм или программу, которая в чём-то уникальна и не слишком распространена на просторах интернета. Открываете торрент-клиент, ставите на закачку, причём скачивается файл, как по закону подлости, с единственного источника, но не тут-то было. Закачка светится красным цветом и появляется комментарий «Отказано в доступе (Hash)».

Как решить ошибку закачки торрента «Отказано в доступе (Hash)».

В итоге закачка прервана, другие источники отсутствуют, а устранить досадную проблему без определённых знаний не выйдет. Однако не стоит отчаиваться — ещё не всё потеряно! Сейчас мы подробно изучим причины сбоя и вместе решим эту задачу.

Хеширование данных. Суть ошибки

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

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

Как понять, что у вас ошибка хеша

Для ошибки хеша можно выделить следующие характерные признаки:

  • Скачивание файла то и дело прерывается, несмотря на то, что идёт из нескольких источников.
  • Во время загрузки файла обнаруживается, что его размер больше заявленного. То есть, допустим, вы качали программу размером 400 МБ, но, закачав 600 МБ, загрузка так и не завершилась.
  • Одна из закачек стопорится, недогрузив всего один-два процента.
  • При закачке торрента, который скачивают, помимо вас, другие пользователи, вы замечаете, что количество источников не изменяется (хотя количество источников должно увеличиваться, раз этот торрент одновременно закачивает много человек). Это происходит потому, что у других пользователей симптом, описываемый в предыдущем пункте — загрузка остановилась, недокачав один-два процента.

Правильная работа клиента выглядит так:

Как исправить ошибку хеша

С принципом хеширования и особенностями работы торрент-клиента мы уже познакомились в начале статьи. Для поиска методов решения придётся немного углубиться в эту тему.

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

Второй метод, скорее, относится к рекомендациям и является логическим продолжением первого. Есть программы для торрентов, которые не отбрасывают некорректные файлы (такие как Transmission и BitTornado). Всё бы ничего, но, как сказано выше, закачка одного и того же сектора повторяется бесчисленное множество раз, из-за чего объём скачанной информации непрерывно растёт, а это может негативно влиять на работоспособность программы и операционной системы в целом. Чтобы повысить надёжность, мы советуем не использовать проблемные программы.

Чтобы исправить ошибку хеша, повторите хеширование раздачи. Для этого выберите из списка необходимую закачу, кликните правой клавишей мыши и выберите опцию «Обновить хеш».

Далее, снова кликните правой кнопкой мыши на загрузке и выберите пункт «Сброс банов» — эта опция снимет блокировку с проблемных источников. Если проблемных раздач несколько, повторите процедуру для каждой из них.

Делаем выводы

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

Источник

Ошибки хеша во время пользования торрент-клиентом возникают довольно редко, зато почти всегда в самый неподходящий момент. Например, вы нашли какой-то интересный фильм или программу, которая в чём-то уникальна и не слишком распространена на просторах интернета. Открываете торрент-клиент, ставите на закачку, причём скачивается файл, как по закону подлости, с единственного источника, но не тут-то было. Закачка светится красным цветом и появляется комментарий «Отказано в доступе (Hash)».

Решение ошибок в работе торрента

Как решить ошибку закачки торрента «Отказано в доступе (Hash)».

В итоге закачка прервана, другие источники отсутствуют, а устранить досадную проблему без определённых знаний не выйдет. Однако не стоит отчаиваться — ещё не всё потеряно! Сейчас мы подробно изучим причины сбоя и вместе решим эту задачу.

Хеширование данных. Суть ошибки

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

Сообщение программы

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

Как понять, что у вас ошибка хеша

Для ошибки хеша можно выделить следующие характерные признаки:

  • Скачивание файла то и дело прерывается, несмотря на то, что идёт из нескольких источников.
  • Во время загрузки файла обнаруживается, что его размер больше заявленного. То есть, допустим, вы качали программу размером 400 МБ, но, закачав 600 МБ, загрузка так и не завершилась.
  • Одна из закачек стопорится, недогрузив всего один-два процента.
  • При закачке торрента, который скачивают, помимо вас, другие пользователи, вы замечаете, что количество источников не изменяется (хотя количество источников должно увеличиваться, раз этот торрент одновременно закачивает много человек). Это происходит потому, что у других пользователей симптом, описываемый в предыдущем пункте — загрузка остановилась, недокачав один-два процента.

Правильная работа клиента выглядит так:

Процесс закачки

Как исправить ошибку хеша

С принципом хеширования и особенностями работы торрент-клиента мы уже познакомились в начале статьи. Для поиска методов решения придётся немного углубиться в эту тему.

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

Второй метод, скорее, относится к рекомендациям и является логическим продолжением первого. Есть программы для торрентов, которые не отбрасывают некорректные файлы (такие как Transmission и BitTornado). Всё бы ничего, но, как сказано выше, закачка одного и того же сектора повторяется бесчисленное множество раз, из-за чего объём скачанной информации непрерывно растёт, а это может негативно влиять на работоспособность программы и операционной системы в целом. Чтобы повысить надёжность, мы советуем не использовать проблемные программы.

Чтобы исправить ошибку хеша, повторите хеширование раздачи. Для этого выберите из списка необходимую закачу, кликните правой клавишей мыши и выберите опцию «Обновить хеш».

Обновление хэша

Далее, снова кликните правой кнопкой мыши на загрузке и выберите пункт «Сброс банов» — эта опция снимет блокировку с проблемных источников. Если проблемных раздач несколько, повторите процедуру для каждой из них.

«Сброс банов»

Делаем выводы

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

ВАЖНО. При создании раздачи музыкальных файлов удостоверьтесь в том, что ваш аудиоплеер не настроен на автоматическое изменение тегов. 

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

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

Признаки

1. Вы скачиваете торрент, который имеет сидеров, но закачка файла постоянно обрывается, хотя файл скачался не полностью.
2. Вы скачиваете торрент и вы скачали больше данных, чем есть на самом деле. Например, размер файла 300 мб, а вы скачали 500 мб. Это, так называемые, излишки.
3. В вашем клиенте есть торрент, закачка которого останавливается на 98-99%.
4. Вы сидируете какой-то файл, который имеет личеров, но по истечении определенного времени, они не присоединяются к сидерам, а в пирах видно, что закачка у этих личеров застряла на 98-99%

Решения

1. Мы уже разобрались в том, что такое ошибки хеша и выяснили причину, когда закачка файла обрывается по вине сидера, отправляющего вам неверные данные. Торрент клиент, принимая данные, сверяет хеш-сумму. В случае если сумма не совпадает, он скачивает этот кусок файла снова. Через определенное количество неудачных попыток, клиент блокирует сидера, который отсылает неверные данные. Именно из-за этого процесса возникают излишки. В этом случае, при помощи ЛС (личных сообщений) стоит обратиться к сидеру, и попросить его заново создать и загрузить торрент-файл.
2. Некоторые торрент-клиенты, такие как Transmission и BitTornado не банят сидера, если он отправляет вам неверные данные. Из-за этого излишки могут быть очень существенными. Я рекомендую вам использовать uTorrent или Vuze.
3. Также, вы можете попробовать перехешировать файл. Для этого вам нужно выбрать в клиенте нужный торрент, кликнуть по нему правой кнопкой мыши и выбрать пункт «Обновить хеш». После этого, возможно, вам понадобится провести «Сброс банов», чтобы разблокировать сидеров. Этот пункт находится там же, где и «Обновить хеш», только чуть выше на вкладке «Дополнительно».

Вывод

1. Используйте надежный клиент, который сведет ваши «излишки» к минимуму.
2. Убедитесь, что ваш музыкальный плеер автоматически не меняет теги в файлах. Примером таких своевольных программ, вызывающих ошибки хеша, являются iTunes и WMP
3. И сами не редактируйте теги у файлов. Если вам это, действительно, необходимо, то создайте копию файла.

Поделиться с друзьями:

Метки: ошибки хеша, клиент

Решение ошибок в работе торрента

Ошибки хеша во время пользования торрент-клиентом возникают довольно редко, зато почти всегда в самый неподходящий момент. Например, вы нашли какой-то интересный фильм или программу, которая в чём-то уникальна и не слишком распространена на просторах интернета. Открываете торрент-клиент, ставите на закачку, причём скачивается файл, как по закону подлости, с единственного источника, но не тут-то было. Закачка светится красным цветом и появляется комментарий «Отказано в доступе (Hash)».

Как решить ошибку закачки торрента «Отказано в доступе (Hash)».

В итоге закачка прервана, другие источники отсутствуют, а устранить досадную проблему без определённых знаний не выйдет. Однако не стоит отчаиваться — ещё не всё потеряно! Сейчас мы подробно изучим причины сбоя и вместе решим эту задачу.

Ошибки хеша

В сетях P2P хеш задействуется для того чтобы проверить целостность скачиваемого или раздаваемого файла. К примеру, ошибка хеша обязательно возникнет, если раздающий (сидер) внес изменения в раздаваемый файл или повредил его. Очень часто подобные ситуации происходят при скачивании музыкальных аудиофайлов.

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

Делаем выводы

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

ВАЖНО. При создании раздачи музыкальных файлов удостоверьтесь в том, что ваш аудиоплеер не настроен на автоматическое изменение тегов.

Разновидности проблем с хешем

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

«Ошибка хеш-суммы» происходит в том случае, когда данные не проходят проверку на целостность, то есть они попросту испорчены. Кстати, если объем испорченных данных небольшой, беспокоиться не следует – торрент-клиент отбрасывает эти данные, но затем загружает их вновь.

Что такое торрент?

Торрент — из английского BitTorrent — «битовый поток». Это сеть для обмена информацией. Она позволяет скачивать части нужного нам файла с других компьютеров. Одним словом, при скачивании мы подключаемся к тем компьютерам, у которых на жёстких дисках уже есть данный файл или его часть.

Как происходит скачивание?

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

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

Внимание! Главная особенность торрента – передача файлов по частям.

Теперь, зная процесс изнутри, ответим на главный вопрос: откуда берётся потерянная информация?

Посмотрим на скриншот с моего ноутбука. Во вкладке Информация видим: 147 КБ потеряно.

Куда и как теряются Мегабайты?

Торрент-клиент, принимая данные, сверяет хеш-сумму.В случае если сумма не совпадает, торрент скачивает этот кусок файла снова.

Почему сумма могла не совпасть? Ошибки при приёме файлов, повреждённые файлы и т.д. Именно так и возникают излишки. Не получилось с первого раза скачать, клиентом делается вторая попытка, потом третья и т.д.

Как выявить ошибки?

Прежде чем выяснить как перехешировать торрент, разберемся с признаками проблемы:

  • В течение скачивания раздачи, характеризующейся достаточным числом раздающих, происходят постоянные обрывы загрузки.
  • После того как все файлы из раздачи загружены, обнаруживается, что объем полученных данных сильно превышает заявленный в описании.
  • Выступая в качестве сидера, пользователь обнаруживает, что у раздаваемого файла есть несколько личеров, но они, даже по истечении большого отрезка времени, не присоединяются к сидерам. При этом показатель загрузки у пиров замирает на уровне 98-99%.
  • Среди загружаемых раздач присутствуют те, загрузка которых остановилась на 98-99%.

Что такое хеш файла

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

Файлы с одинаковыми хешами всегда являются точными копиями друг друга, даже если у них разные имена и (или) расширения.

Изменение содержания файла автоматически влечет за собой изменение его хеша.

Существует несколько общепринятых алгоритмов (стандартов) расчета хеша. Наиболее часто используются алгоритмы:

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

Как перехешировать торрент?

Существует простой способ, который почти всегда помогает победить ошибки хеша.

Самостоятельно решить проблему можно, буквально совершив пару кликов кнопками мыши. Во всех известных торрент-клиентах достаточно остановить раздачу, нажать на ее наименование правой кнопкой мыши и в контекстном меню кликнуть по пункту «Пересчитать хеш». В ту же секунду начнется проверка, и по ее завершении проблем торрент-файл больше не доставит.

Обратите внимание, что пункт пересчета хеша в меню раздачи может называться по-разному. В популярных программах-клиентах встречаются названия «Force recheck», «Force Re-check», «Проверить принудительно» и тому подобные. Пользователь может смело выбирать эти пункты, и вопросов о том, как перехешировать торрент и докачать файлы, больше возникнуть не должно – этот простейший способ помогает в большинстве случаев.

Перехеширование торрента в программе BitTorrent

Иногда, если вы надолго прерывали закачку через торрент, часть скачанного контента могла по какой-либо причине быть удалена с жесткого диска компьютера, или же в раздачу сид добавил новые файлы. В таком случае при перезапуске загрузки контента торрент-клиент будет выдавать ошибку. Что же делать? Нужно проверить торрент-файл, находящийся на вашем компьютере, и тот, который выложен на трекере, на идентичность, и в случае расхождений привести их к единому знаменателю. Данная процедура называется перехешированием. Давайте пошагово опишем данный процесс на примере работы с популярной программой для скачивания торрентов BitTorrent.

Как узнать хеш файла

Для расчета хеша используют специальные программы. Одной из самых популярных среди них является бесплатная программа Hash Tab. Она добавляет соответствующие функции в меню свойств файлов.

Порядок использования:

• установить программу Hash Tab;

• щелкнуть правой кнопкой мышки по файлу и в появившемся контекстном меню выбрать пункт «Свойства»;

• в открывшемся окне перейти на вкладку «Хеш-суммы файлов» и подождать, пока компьютер рассчитает и отобразит хеши файла.

На этой же вкладке есть ссылка с названием “Настройки”, нажав на которую можно выбрать алгоритмы, по которым программа Hash Tab будет рассчитывать хеши.

Операционная система Windows умеет автоматически определять тип каждого файла и открывать его при помощи подходящей программы. Пользователю достаточно лишь дважды щелкнуть по файлу левой кнопкой мышки.

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

Программа, при помощи которой компьютер автоматически открывает файлы определенного типа, называется программой по умолчанию.

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

Пользователь компьютера постоянно имеет дело с файлами и папками. Из изложенной ниже статьи начинающие читатели узнают о том, что такое файл, что такое папка, в чем между ними состоит разница и как их на практике различать.

Изменить имя файла не сложно: два – три клика мышкой, нажатие нескольких клавиш на клавиатуре плюс две секунды потраченного времени – и готово. Но если нужно переименовать несколько десятков или сотен файлов, “ручное” решение этой задачи становиться серьезной проблемой.

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

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

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

Не смотря на распространённость файлов djvu, у многих начинающих пользователей компьютера возникают трудности с их открытием.

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

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

Примеров, когда разделение файла решает проблему, можно придумать много. Но какой бы ни была ситуация, задачу с “разрезанием” можно решить при помощи обычного архиватора.

Рекомендации типа “сохранить файл с расширением .xxx” часто встречаются в инструкциях компьютерной тематики. Однако, многие пользователи не умеют этого делать.

Для них это краткое руководство.

ПОКАЗАТЬ ЕЩЕ

Оценка статьи:

Сохранить себе в:

Отсутствуют файлы повторите хеширование что это значит Ссылка на основную публикацию

Ошибка [системе не удается найти указанный путь]

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

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

Создайте папку с именем на английском языке, без пробелов, точек, и прочих символов. Запустите uTorrent и нажмите на клавиатуре CTRL+P.

В настройках перейдите во вкладку «Папки» и пропишите там свою директорию, как в примере на скриншоте:

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

Затем нажмите ОК и перезапустите программу.

Что делать, если ошибка появляется при попытке скачать только какой-то конкретный торрент, а другие при этом качаются без проблем?

Проверьте, чтобы в имени файла с расширением «.torrent» не было пробелов, и имя было на английском (правильнее сказать — на латинском) языке. Для верности, просто переименуйте файл простым коротким именем и заново откройте его в uTorrent, удалив перед этим предыдущий торрент из списка загрузок.

Ошибка [невозможно сохранить файл]

Сообщение о невозможности сохранить файл, аналогично ошибке Write to Disk, появляется в uTorrent, когда программе не хватает прав на запись в папку загрузок, выбранную в настройках по умолчанию.

Решение

Создайте в корне диска, на котором планируете хранить скачанные файлы, папку downloads.

В папке downloads создайте папку torrents.

Затем зайдите в настройки uTorrent (CTRL + P) и откройте раздел «Папки».

В секции «Расположение загруженных файлов» нажмите на значок многоточия и в открывшемся окне проводника выберите папку downloads.

В секции «location of .torrents» таким же способом пропишите папку torrents.

Сохраните изменения нажатием кнопки ОК, после чего заново попытайтесь запустить проблемный торрент файл (на котором вылезла ошибка) в программе uTorrent.

Практическая ценность хеш-суммы файлов

Хеш часто используется для проверки подлинности или целостности важных файлов.

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

• хеши файлов, размещенные на официальном сайте их разработчиков, позволяют убедиться в подлинности таких файлов в случае их загрузки из альтернативных источников;

• хеш положен в основу работы большинства программ, предназначенных для поиска на компьютере файлов – дубликатов;

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

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

Решение №1

Запустите Проводник, скопируйте и вставьте в адресную строку %appdata%utorrent после чего нажмите клавишу Enter. Это вы делаете для того, чтобы проверить вышеуказанную папку.

После этих действий должна открыться папка, что-то подобное на: С:Documents and Settingsимя_пользователяApplication DatauTorrent. В этой папке вы должны увидеть файл под названием «resume.dat.old» и там же «resume.dat». Второй будет «весить» 1 Кб, а первый значительно больше, до нескольких Мб.

Допустим, вы нашли в своей папке эти файлы. Делаем следующую манипуляцию: удаляем «пустой» resume.dat. в корзину (если не получается удалить, перемещаем его куда-нибудь в другую папку), после чего переименовываем resume.dat.old в resume.dat. Должен получиться файл resume.dat с «большим» весом. Затем запускаем торрент-клиент и после запускаем весь список закачек. В идеале, теперь список торрентов должен восстановиться.

Способ 4

Ничего не помогло? Руки не опускаем, двигаемся дальше. Зайдите в настройки uTorrent, во вкладку «Соединение».

Сгенерируйте новый порт входящих соединений, затем нажмите кнопку «Применить».

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

Пробуйте так раз 20, для верности можно перезапускать программу после каждого изменения порта.

Риски и проблемы хеширования паролей

Время на прочтение
11 мин

Количество просмотров 36K

Безопасность всегда была неоднозначной темой, провоцирующей многочисленные горячие споры. И всё благодаря обилию самых разных точек зрения и «идеальных решений», которые устраивают одних и совершенно не подходят другим. Я считаю, что взлом системы безопасности приложения всего лишь вопрос времени. Из-за быстрого роста вычислительных мощностей и увеличения сложности безопасные сегодня приложения перестанут завтра быть таковыми.

Прим. перев.: для более полной картины здесь вас также будет ждать перевод Hashing Passwords with the PHP 5.5 Password Hashing API, на которую автор ссылается в статье.

Если вы не изучали алгоритмы хэширования, то, вероятнее всего, воспринимаете их как одностороннюю функцию, которая конвертирует данные переменной длины в данные фиксированной длины. Проанализируем это определение:

  • Односторонняя функция: из хэша невозможно восстановить исходные данные с помощью какого-либо эффективного алгоритма.
  • Конвертация данных переменной длины в данные фиксированной длины: входное значение может быть «бесконечной» длины, а выходное — нет. Это подразумевает, что два или более входных значения могут иметь одинаковые хэши. Чем меньше длина хэша, тем выше вероятность коллизии.

Алгоритмы MD5 и SHA-1 уже не обеспечивают достаточно высокой надёжности с точки зрения вероятности возникновения коллизий (см. Парадокс дней рождения). Поэтому рекомендуется использовать алгоритмы, генерирующие более длинные хэши (SHA-256, SHA-512, whirlpool и др.), что делает вероятность возникновения коллизии пренебрежимо малой. Такие алгоритмы ещё называют «псевдослучайными функциями», т. е. результаты их работы неотличимы от результатов работы полноценного генератора случайных чисел (true random number generator, TRNG).

Недостатки простого хэширования

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

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

Злоумышленники могут поступить ещё проще — нагуглить конкретные хэши в онлайновых БД:

  • www.hash-database.net
  • isc.sans.edu/tools/hashsearch.html
  • md5online.net
  • crackstation.net

Также нужно понимать, что если два и более одинаковых пароля имеют одинаковые хэши, то, взломав один хэш, мы получаем доступ ко всем аккаунтам, где используется тот же пароль. Для примера: пусть у нас несколько тысяч пользователей, наверняка несколько из них используют пароль 123456 (если настройки сайта не заставляют усложнять пароль). MD5-хэш для этого пароля e10adc3949ba59abbe56e057f20f883e. Так что если вы заполучите этот хэш и поищете в базе данных по этому значению, то найдёте всех пользователей с таким паролем.

Почему небезопасны хэши с применением соли

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

В общем виде функцию с использованием соли можно представить так:

f(password, salt) = hash(password + salt)

Для затруднения брутфорс-атаки соль должна быть длиной не менее 64 символов. Но проблема в том, что для дальнейшей аутентификации пользователей соль должна храниться в БД в виде простого текста.

if (hash([введённый пароль] + [соль]) == [хэш]) тогда пользователь аутентифицирован

Благодаря уникальности соли для каждого пользователя мы можем решить проблему коллизий простых хэшей. Теперь все хэши будут разными. Также уже не сработают подходы с гугленьем хэшей и брутфорсом. Но если злоумышленник через внедрение SQL-кода получит доступ к соли или БД, то сможет успешно атаковать брутфорсом или перебором по словарю, особенно если пользователи выбирают распространённые пароли (а-ля 123456).

Тем не менее взлом любого из паролей уже не позволит автоматически вычислить пользователей, у которых тот же пароль, — ведь у нас ВСЕ хэши разные.

Момент случайности

Для генерирования подходящей соли нам нужен хороший генератор случайных чисел. Сразу забудьте о функции rand().

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

Когда от компьютера хотят случайное число, то обычно он берёт данные из нескольких источников (например, переменные среды: дату, время, количество записанных/считанных байтов и т. д.), а затем производит над ними вычисления для получения «случайных» данных. Поэтому такие данные называют псевдослучайными. А значит, если каким-то образом воссоздать набор исходных состояний на момент исполнения псевдослучайной функции, то мы сможем сгенерировать то же самое число.

Если псевдослучайный генератор ещё и реализован неправильно, то в генерируемых им данных можно обнаружить паттерны, а с их помощью предсказать результат генерирования. Взгляните на эту картинку, представляющую собой результат работы PHP-функции rand():

image

А теперь сравните с данными, сгенерированными полноценным генератором случайных чисел:

К сожалению, ни rand(), ни mt_rand() нельзя считать подходящими инструментами для обеспечения высокого уровня безопасности.

Если вам нужно получить случайные данные, воспользуйтесь функцией openssl_random_pseudo_bytes(), которая доступна начиная с версии 5.3.0. У неё даже есть флаг crypto_strong, который сообщит о достаточном уровне безопасности.

Пример использования:

<?php

function getRandomBytes ($byteLength)
{
    /*
     * Проверка доступности openssl_random_pseudo_bytes
     */
    if (function_exists('openssl_random_pseudo_bytes')) {
        $randomBytes = openssl_random_pseudo_bytes($byteLength, $cryptoStrong);
        if ($cryptoStrong)
            return $randomBytes;
    } 

    /*
     * Если openssl_random_pseudo_bytes недоступен или результат его работы слишком
     * слабый, то задействуется менее безопасный генератор
     */
    $hash = '';
    $randomBytes = '';

    /*
     * На Linux/UNIX-системах /dev/urandom является прекрасным источником энтропии, 
     * используйте его для получения начального значения $hash
     */
    if (file_exists('/dev/urandom')) {
        $fp = fopen('/dev/urandom', 'rb');
        if ($fp) {
            if (function_exists('stream_set_read_buffer')) {
                stream_set_read_buffer($fp, 0);
            }
            $hash = fread($fp, $byteLength);
            fclose($fp);
        }
    }

    /*
     * Используйте менее безопасную функцию mt_rand(), но только не rand()!
     */
    for ($i = 0; $i < $byteLength; $i ++) {
        $hash = hash('sha256', $hash . mt_rand());
        $char = mt_rand(0, 62);
        $randomBytes .= chr(hexdec($hash[$char] . $hash[$char + 1]));
    }
    return $randomBytes;
}

Растяжение пароля

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

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

Для взлома пароля с растяжением нужно:

  1. знать точное количество итераций, поскольку любое отклонение будет давать другой хэш;
  2. ждать не менее секунды между каждой попыткой.

Это делает атаку очень маловероятной… но не невозможной. Чтобы преодолеть секундную задержку, атакующий должен использовать более производительный компьютер, чем тот, под который был настроен алгоритм хэширования. Следовательно, процесс взлома может потребовать дополнительных расходов.

Для растяжения пароля можно использовать стандартные алгоритмы, например PBDKDF2, представляющий собой функцию формирования ключа:

<?php

/*
 * Количество итераций можно увеличить, чтобы перекрыть дальнейший рост 
 * производительности CPU/GPU. Используйте разные соли для каждого пароля
 * (можно класть их вместе со сгенерированным паролем). Данная функция
 * работает медленно, это сделано преднамеренно! Больше информации здесь: -
 * http://ru.wikipedia.org/wiki/PBKDF2 - http://www.ietf.org/rfc/rfc2898.txt
 */
function pbkdf2 ($password, $salt, $rounds = 15000, $keyLength = 32, 
        $hashAlgorithm = 'sha256', $start = 0)
{
    // Key blocks to compute
    $keyBlocks = $start + $keyLength;

    // Derived key
    $derivedKey = '';

    // Create key
    for ($block = 1; $block <= $keyBlocks; $block ++) {
        // Initial hash for this block
        $iteratedBlock = $hash = hash_hmac($hashAlgorithm, 
                $salt . pack('N', $block), $password, true);

        // Perform block iterations
        for ($i = 1; $i < $rounds; $i ++) {
            // XOR each iteration
            $iteratedBlock ^= ($hash = hash_hmac($hashAlgorithm, $hash, 
                    $password, true));
        }

        // Append iterated block
        $derivedKey .= $iteratedBlock;
    }

    // Return derived key of correct length
    return base64_encode(substr($derivedKey, $start, $keyLength));
}

Есть и более затратные по времени и памяти алгоритмы, например bcrypt (о нём мы поговорим ниже) или scrypt:

<?php
// bcrypt внедрён в функцию crypt()
$hash = crypt($pasword, '$2a$' . $cost . '$' . $salt);

  • $cost — коэффициент трудоёмкости;
  • $salt — случайная строка. Её можно генерировать, например, с помощью описанной выше функции secure_rand().

Коэффициент трудоёмкости целиком зависит от машины, на которой выполняется хэширование. Можете начать со значения 09 и постепенно увеличивать, пока длительность операции не достигнет одной секунды. Начиная с версии 5.5 можно пользоваться функцией password_hash(), об этом мы поговорим дальше.

На данный момент в PHP не реализована поддержка алгоритма scrypt, но можно воспользоваться реализацией от Domblack.

Применение технологий шифрования

Многие путаются в терминах «хэширование» и «шифрование». Как было упомянуто выше, хэш — результат работы псевдослучайной функции, в то время как шифрование — осуществление псевдослучайного преобразования: входные данные делятся на части и обрабатываются таким образом, что результат становится неотличим от результата работы полноценного генератора случайных чисел. Однако в этом случае можно провести обратное преобразование и восстановить исходные данные. Преобразование осуществляется с помощью криптоключа, без которого невозможно провести обратное преобразование.

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

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

Некоторое время назад у Adobe была мощная утечка пользовательской БД из-за неправильно реализованного шифрования. Давайте разберём, что у них произошло.

image

Предположим, что в таблице хранятся следующие данные в виде обычного текста:

Кто-то в Adobe решил зашифровать пароли, но при этом совершил две большие ошибки:

  1. использовал один и тот же криптоключ;
  2. оставил поля passwordHint незашифрованными.

Допустим, после шифрования таблица стала выглядеть так:

image

Мы не знаем, какой применялся криптоключ. Но если проанализировать данные, то можно заметить, что в строках 2 и 7 используется один и тот же пароль, так же как и в строках 3 и 6.

Пришло время обратиться к подсказке пароля. В строке 6 это «I’m one!», что совершенно неинформативно. Зато благодаря строке 3 мы можем предположить, что пароль — queen. Строки 2 и 7 по отдельности не позволяют вычислить пароль, но если проанализировать их вместе, то можно предположить, что это halloween.

Ради снижения риска утечки данных лучше использовать разные способы хэширования. А если вам нужно шифровать пароли, то обратите внимание на настраиваемое шифрование:

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

Простейший вариант «настройки» — так называемый первичный ключ, уникальный для каждой записи в таблице. Не рекомендуется пользоваться им в жизни, здесь он показан лишь для примера:

f(key, primaryKey) = key + primaryKey

Здесь ключ и первичный ключ просто сцепляются вместе. Но для обеспечения безопасности следует применить к ним алгоритм хэширования или функцию формирования ключа (key derivation function). Также вместо первичного ключа можно для каждой записи использовать одноразовый ключ (аналог соли).

Если мы применим к нашей таблице настраиваемое шифрование, то она будет выглядеть так:

image

Конечно, нужно будет ещё что-то сделать с подсказками паролей, но всё-таки уже получилось хоть что-то адекватное.

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

PHP 5.5

Сегодня оптимальным способом хэширования паролей считается использование bcrypt. Но многие разработчики всё ещё предпочитают старые и более слабые алгоритмы вроде MD5 и SHA-1. А некоторые при хэшировании даже не пользуются солью. В PHP 5.5 был представлен новый API для хэширования, который не только поощряет применение bcrypt, но и существенно облегчает работу с ним. Давайте разберём основы использования этого нового API.

Здесь применяются четыре простые функции:

  • password_hash() — хэширование пароля;
  • password_verify() — сравнение пароля с хэшем;
  • password_needs_rehash() — перехэширование пароля;
  • password_get_info() — возвращение названия алгоритма хэширования и применявшихся в ходе хэширования опций.

password_hash()

Несмотря на высокий уровень безопасности, обеспечиваемый функцией crypt(), многие считают её слишком сложной, из-за чего программисты часто допускают ошибки. Вместо неё некоторые разработчики используют для генерирования хэшей комбинации слабых алгоритмов и слабых солей:

<?php
$hash = md5($password . $salt); // работает, но уровень безопасности невысок

Функция password_hash() существенно облегчает разработчику жизнь и повышает безопасность кода. Для хэширования пароля достаточно скормить его функции, и она вернёт хэш, который можно поместить в БД:

<?php
$hash = password_hash($passwod, PASSWORD_DEFAULT);

И всё! Первый аргумент — пароль в виде строки, второй аргумент задаёт алгоритм генерирования хэша. По умолчанию используется bcrypt, но при необходимости можно добавить и более сильный алгоритм, который позволит генерировать строки большей длины. Если в своём проекте вы используете PASSWORD_DEFAULT, то удостоверьтесь, что ширина колонки для хранения хэшей не менее 60 символов. Лучше сразу задать 255 знаков. В качестве второго аргумента можно использовать PASSWORD_BCRYPT. В этом случае хэш всегда будет длиной в 60 символов.

Обратите внимание, что вам не нужно задавать значение соли или стоимостного параметра. Новый API всё сделает за вас. Поскольку соль является частью хэша, то вам не придётся хранить её отдельно. Если вам всё-таки нужно задать своё значение соли (или стоимости), то это можно сделать с помощью третьего аргумента:

<?php
$options = [
    'salt' => custom_function_for_salt(), // Напишите собственный код генерирования соли
    'cost' => 12 // По умолчанию стоимость равна 10
];
$hash = password_hash($password, PASSWORD_DEFAULT, $options);

Всё это позволит вам использовать самые свежие средства обеспечения безопасности. Если в дальнейшем в PHP появится более сильный алгоритм хэширования, то ваш код станет использовать его автоматически.

password_verify()

Теперь рассмотрим функцию сравнения пароля с хэшем. Первый вводится пользователем, а второй мы берём из БД. Пароль и хэш используются в качестве двух аргументов функции password_verify(). Если хэш соответствует паролю, то функция возвращает true.

<?php
if (password_verify($password, $hash)) {
    // Успешно!
}
else {
    // Неверные данные
}

Помните, что соль является частью хэша, поэтому она не задаётся здесь отдельно.

password_needs_rehash()

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

<?php
if (password_needs_rehash($hash, PASSWORD_DEFAULT, ['cost' => 12])) {
    // Пароль надо перехэшировать, поскольку использовался не текущий
    // алгоритм по умолчанию либо стоимостный параметр не был равен 12
    $hash = password_hash($password, PASSWORD_DEFAULT, ['cost' => 12]);

    // Не забудьте сохранить новый хэш!
}

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

password_get_info()

Данная функция берёт хэш и возвращает ассоциативный массив из трёх элементов:

  • algo — константа, позволяющая идентифицировать алгоритм;
  • algoName — название использовавшегося алгоритма;
  • options — значения разных опций, применявшихся при хэшировании.

Более ранние версии PHP

Как видите, работать с новым API не в пример легче, чем с неуклюжей функцией crypt(). Если же вы используете более ранние версии PHP, то рекомендую обратить внимание на библиотеку password_compact. Она эмулирует данный API и автоматически отключается, когда вы обновляетесь до версии 5.5.

Заключение

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

  • Опель z22se ошибка p0340
  • Опасность что выполняемые аудитором процедуры проверки не выявят существенных ошибок
  • Опель z13dth ошибка p0107 03
  • Опасность прошла лексическая ошибка
  • Опель вектра б ошибка р1690