Идентификатор файла, что это такое

Обновлено: 22.11.2024

Что такое «идентификатор файла» в Emule? Какой алгоритм он использовал?

  • Группа: Участники
  • Сообщения: 15
  • Присоединился: с 16 декабря 2008 г.

На emule есть файл размером 1,06 ГБ, который я хотел бы загрузить, но я думаю, что он может быть таким же, как у файла, который у меня уже есть. Прежде чем загружать более ГБ, я хотел бы знать, тот ли это файл, который у меня уже есть. Следовательно, следующая проблема — проверить это.

Идентификатор файла Emule: CA4566668F9C0A9962ADAE66097D9106.

Какой алгоритм используется для его создания? Я предположил, что это будет MD5, но тест, который я запускаю для небольшого файла, который я поместил на свой диск, показывает, что идентификатор ФАЙЛА, сгенерированный emule, не совпадает с контрольной суммой MD5. ИМХО, было бы гораздо лучше использовать алгоритм md5, так как он является одним из наиболее распространенных для проверки целостности файлов.


Во всяком случае, в файле, который у меня есть, есть эти контрольные суммы, ни одна из которых не соответствует идентификатору ФАЙЛА emule.

<Р> MD5: 27a1980c291532e79aa8e560df8f4d97
SHA1: 7af45c50edd4864dca54abdf3af8bfd996bd2181
SHA256: 0e66b393b41b39451bf06e287efb5ea16783ef802c513d80aeb8800e323ebd22
SHA512 :: 1a61d6062417a873d8831f82bf3248aa58eb73561abf3dce91d0623977a117101327db4e9531cb8d
1299ca557e6b73d3f1aacc0202dae335654d45b932f007be

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

Следовательно, есть ли способ проверить, совпадает ли файл, который у меня есть, с файлом, доступным в emule? В идеале мне нужен простой фрагмент кода, который я мог бы скомпилировать самостоятельно и запустить на своей рабочей станции Sun. (Я использую Windows как можно меньше!)

  • Группа: Участники
  • Сообщения: 15
  • Присоединился: с 16 декабря 2008 г.

gulleiot, 18 декабря 2008 г., 11:01, сказал:

На emule есть файл размером 1,06 ГБ, который я хотел бы загрузить, но я думаю, что он может быть таким же, как у файла, который у меня уже есть. Прежде чем загружать более ГБ, я хотел бы знать, тот ли это файл, который у меня уже есть. Следовательно, следующая проблема — проверить это.

Идентификатор файла Emule: CA4566668F9C0A9962ADAE66097D9106.

Какой алгоритм используется для его создания?

Мне удалось найти ответ самостоятельно - используется алгоритм md4. Учитывая, что md5 почти повсеместно используется для проверки целостности файлов, я нашел некоторый код C для генерации контрольной суммы md4, так что компиляция должна быть легкой.

По крайней мере, согласно Википедии, md4 не уверен, и можно сгенерировать два файла с одним и тем же md4 за микросекунды:

Понятия не имею, насколько это правда, но md5, по крайней мере, для меня был бы гораздо более разумным, чем md4. Я предполагаю, что md5 может потребовать больше времени для вычисления, но даже на моей рабочей станции Sun, которая имеет только процессор SPARC с тактовой частотой 1,2 ГГц, для этого требуется всего 23 с. Я не могу сравнить это со временем на emule, так как он использует другой процессор (AMD x86), но emule занимает больше времени, чем я ожидал.

  • Группа: Участники
  • Сообщения: 15
  • Присоединился: с 16 декабря 2008 г.

$имя файла openssl md4

в системе Unix или Linux. Не уверен насчет окон - я избегаю этого, когда могу.

  • Группа: Участники
  • Сообщения: 71
  • Присоединился: 26–2 декабря.

gulleiot, 18 декабря 2008 г., 12:23, сказал:

gulleiot, 18 декабря 2008 г., 11:01, сказал:

На emule есть файл размером 1,06 ГБ, который я хотел бы загрузить, но я думаю, что он может быть таким же, как у файла, который у меня уже есть. Прежде чем загружать более ГБ, я хотел бы знать, тот ли это файл, который у меня уже есть. Следовательно, следующая проблема — проверить это.

Идентификатор файла Emule: CA4566668F9C0A9962ADAE66097D9106.

Какой алгоритм используется для его создания?

Мне удалось найти ответ самостоятельно - используется алгоритм md4. Учитывая, что md5 почти повсеместно используется для проверки целостности файлов, я нашел некоторый код C для генерации контрольной суммы md4, так что компиляция должна быть легкой.

По крайней мере, согласно Википедии, md4 не уверен, и можно сгенерировать два файла с одним и тем же md4 за микросекунды:

Понятия не имею, насколько это правда, но md5, по крайней мере, для меня был бы гораздо более разумным, чем md4. Я предполагаю, что md5 может потребовать больше времени для вычисления, но даже на моей рабочей станции Sun, которая имеет только процессор SPARC с тактовой частотой 1,2 ГГц, для этого требуется всего 23 с. Я не могу сравнить это со временем на emule, так как он использует другой процессор (AMD x86), но emule занимает больше времени, чем я ожидал.

P.S.В Windows fsum также генерирует хэш ED2K с тегом *EDONKEY. Однако он не генерирует хэш AICH. Конечно, в Windows у вас также есть создатель ссылок alcc, ALC и eMule, и, конечно, сами aMule, eMule и другие программы с сетью ED2K могут это сделать, хотя они создают ненужные накладные расходы и сложности, если вы просто хотите генерировать хэши.

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

П.П.П.С. Даже википедия говорит вам достаточно, чтобы знать, что ED2K использует MD4, но как корневой хэш списка хэшей, и поэтому дает хэш, отличный от простого MD4, поэтому я предполагаю, что кому-то действительно нужно научиться либо 1) искать или 2) читать; прежде чем задавать вопросы.

Это сообщение было изменено Nil Einne: 18 декабря 2008 г., 15:44

Самый естественный способ идентифицировать файл — это его имя. Однако Drive API идентифицирует файл по его уникальному идентификатору. googledrive позволяет сначала указать интересующий вас файл по имени, а затем сразу же захватить его, включив идентификатор файла. Это облегчает последующие операции с файлами.

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

  • name : имя файла.
  • id : уникальный идентификатор файла.
  • drive_resource : столбец списка, содержащий метаданные Drive API, полезные для внутреннего использования и, возможно, интересные для некоторых пользователей. Типичный пользователь не проверит эту переменную. Просто позвольте этому быть.

Некоторые функции добавляют дополнительные переменные, но всегда присутствуют три указанные выше. drive_reveal() , например, может добавлять пути к файлам, типы MIME, статус корзины и информацию о разрешениях и публикации. Используйте свои обычные методы работы с фреймами данных, чтобы изолировать определенные строки — в данном случае файлы, — с которыми вы хотите работать. Например, вы можете манипулировать каплей с помощью глаголов dplyr, таких как filter() , mutate() , аранжировка() и slice() .

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

Как в первую очередь поместить файлы в дриблинг? Две основные функции для этого:

drive_find()

Прочитайте справку для получения полной документации, но вот некоторые из множества способов вызова drive_find() :

drive_find() предназначен для исчерпывающего списка файлов или фильтрации по свойствам файлов.

drive_get()

Полная документация приведена в справке, но вот как могут выглядеть вызовы drive_get():

drive_get() предназначен для целевого извлечения файлов на основе имени, пути, идентификатора или URL-адреса.

Другие полезные функции

drive_reveal() добавляет бонусную информацию к dribble, либо извлекая ее из переменной drive_resource, либо вызывая Drive API. Используйте его на дрибле, содержащем интересующие вас файлы.

drive_ls() выводит список файлов в указанной папке. Это тонкая оболочка над drive_find() , поэтому доступны все эти возможности.

Содержит информацию, которую извлекает функция GetFileInformationByHandle.

Синтаксис

Участники

Атрибуты файла. Возможные значения и их описания см. в разделе Константы атрибутов файла.

Структура FILETIME, указывающая, когда создается файл или каталог. Если базовая файловая система не поддерживает время создания, этот элемент равен нулю (0).

Структура FILETIME. Для файла структура определяет время последнего чтения или записи файла. Для каталога структура указывает, когда создается каталог. И для файлов, и для каталогов указанная дата верна, но время суток всегда установлено на полночь. Если базовая файловая система не поддерживает время последнего доступа, этот элемент равен нулю (0).

Структура FILETIME. Для файла структура указывает время последней записи в файл. Для каталога структура указывает, когда создается каталог. Если базовая файловая система не поддерживает время последней записи, этот элемент равен нулю (0).

Серийный номер тома, содержащего файл.

Старшая часть размера файла.

Младшая часть размера файла.

Количество ссылок на этот файл. Для файловой системы FAT этот член всегда равен 1. Для файловой системы NTFS может быть больше 1.

Старшая часть уникального идентификатора, связанного с файлом. Дополнительные сведения см. в разделе nFileIndexLow.

Младшая часть уникального идентификатора, связанного с файлом.

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

Примечания

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

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

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

Не все файловые системы могут записывать время создания и последнего доступа, и не все файловые системы записывают их одинаково. Например, в файловой системе Windows FAT время создания имеет разрешение 10 миллисекунд, время записи имеет разрешение 2 секунды, а время доступа имеет разрешение 1 день (дата доступа). В файловой системе NTFS время доступа имеет разрешение 1 час. Дополнительную информацию см. в разделе Время файла.

Программное обеспечение для идентификации файлов — это инструмент командной строки, который позволяет идентифицировать файлы, а также получать информацию о каталогах по их содержимому (в дальнейшем называемому ресурсом), а не просто по расширениям их файлов (в случае файлов). В настоящее время он поддерживает системы DOS, Windows и Linux.

Возможности

  • Выпущена новая версия 0.6.2. Эта версия содержит основные исправления и добавляет поддержку OGG, FLAC, EBML и улучшенную поддержку файлов MP3.
  • Идентифицированные ресурсы имеют определенные расширения файлов, а также описательный комментарий, указывающий тип ресурса.
  • При необходимости можно классифицировать идентифицированные ресурсы и определить их типы мультимедиа MIME. Это позволяет получить статистику по типам файлов, хранящихся в системе.
  • Дополнительно предоставляются различные методы извлечения метаданных, связанных с ресурсом. В настоящее время поддерживаются следующие методы:
  1. Встроенные метаданные для определенных типов файлов (PDF, PNG, SGML/HTML и т. д.)
  2. Встроенная поддержка информации о пакетах XMP [2]
  3. Поддержка файла descript.ion 4DOS/4NT/4OS2
  4. Поддержка базы данных DEX (Description Explorer) (совместима с файлом descript.ion)
  5. Поддержка файлов Sidecar XMP
  6. Поддержка файла описания переносимого приложения (PAD). Ресурс, связанный с файлом PAD, извлекается из файла PAD.
  • База данных идентификаторов ресурсов представляет собой простой текстовый файл, видимый для магического файла UNIX. Конечные пользователи могут легко расширить его.
  • Также поддерживается извлечение метаданных в базу данных DEX (Description Explore). Это позволяет использовать инструменты, совместимые с базой данных DEX, для редактирования и просмотра метаданных.
  • Создавать HTML- или SFV-совместимые отчеты о проанализированных файлах.
  • Создание отчетов в формате CSV (только в профессиональной версии — свяжитесь с нами, чтобы получить доступ к этой функции)

Технические характеристики

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

Формат файла базы данных Magic (2005-01-29) содержит спецификацию формата текстового файла, используемого для идентификации файлов. Пользователи, которые хотят расширить базу данных, чтобы идентифицировать больше файлов, должны прочитать этот документ.

Расширения файла описания 4DOS/4NT (2006-12-23) определяют формат хранения базы данных DEX (при использовании с программным обеспечением Descrliption Explorer). Эта база данных DEX на самом деле является файлом descript.ion 4DOS/4NT с расширениями (полностью обратно совместима с 4NT/4DOS).

Предложение по расширению XMP-схемы обозревателя описания (2007-04-04) добавляет новую схему к информации о пакете XMP. Эта информация о пакете содержит такую ​​информацию, как номер версии, crc32 и т. д. Эти схемы используются в базе данных DEX.

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

Загрузки

Поддержите это программное обеспечение, сделав пожертвование!

Linux x86 — заархивировано (версия 0.6.2)

Если вас интересует визуальный редактор метаданных, вы можете скачать визуальную версию здесь

Читайте также: