#file #document #signature #information-retrieval
Вопрос:
Мне было интересно, знаете ли вы где-нибудь, где я могу найти информацию о том, как создать файл подписи для извлечения документов.
Вы не знаете, есть ли там какой-нибудь код, который я мог бы использовать или посмотреть?
Мне нужно создать файл подписи на C под платформой Linux.
ОБНОВЛЕНИЕ: Извините, я признателен за помощь, но я ссылался на файлы подписей не как на способ проверки документов, а как на способ индексирования документов.
http://en.wikipedia.org/wiki/Signature_files
Любая помощь будет очень признательна.
Спасибо,
Ответ №1:
Во-первых, давайте уточним некоторые термины.
Цифровая подпись должна быть эквивалентна собственноручной подписи (см. http://en.wikipedia.org/wiki/Digital_signature для лучшего описания и обзора).
Когда к документу применяется цифровая подпись, вы получаете более высокий уровень уверенности в подлинности документа (у вас есть лучшее представление о том, был ли документ подделан или нет).
Ответы Адама и Роберта касаются методов проверки целостности документа (что документ не изменился). Хотя цифровая подпись также обеспечивает это, контрольная сумма (хэш) не обеспечивает подлинность.
Поэтому важно, чтобы мы определили потребности вашего «файла подписи». Я предположу, что вы говорите о цифровых подписях, а не о контрольных суммах, поскольку другие ответы касаются контрольных сумм.
Вам потребуется создать отдельную подпись PKCS#7 (жаргон — подпись стандартного формата, которая не содержит данных, поэтому ее можно хранить отдельно). Для достижения этой цели я рекомендую вам использовать стандартную библиотеку, такую как OpenSSL (которая является портативной).
- Для получения дополнительной информации о PKCS#7 см. http://www.rsa.com/rsalabs/node.asp?id=2129
- Для получения дополнительной информации об OpenSSL см. http://www.openssl.org/
Ответ №2:
Вы можете посмотреть на Семантический хакер или извлечение терминов Yahoo.
Ответ №3:
md5sum может быть тем, что вы ищете. Исходный код для создания подписей md5 доступен, если вы погуглите.
Из Википедии:
Поскольку почти любое изменение файла приведет к изменению его хэша MD5, хэш MD5 обычно используется для проверки целостности файлов (т. Е. Для проверки того, что файл не изменился в результате передачи файлов, ошибки диска, вмешательства и т. Д.). Программа md5sum устанавливается по умолчанию в большинстве операционных систем Unix, Linux и Unix-подобных или уровней совместимости. Варианты BSD (включая Mac OS X) имеют аналогичную утилиту под названием md5. Версии для Microsoft Windows действительно существуют.
Ответ №4:
Аналогично предложению Адама, если вы работаете с очень большим объемом документов, было бы неплохо проверить SHA1 и sha1sum. Меньше столкновений и немного более совершенное шифрование.