2008-10-08 11 views
2

Мне было интересно, знаете ли вы где-нибудь, где я могу найти информацию о том, как создать файл подписи для поиска документов.
Знаете ли вы, есть ли какой-нибудь код, который я могу использовать или посмотреть?
Мне нужно создать файл подписи на C++ под платформой linux.

ОБНОВЛЕНИЕ: Извините, я благодарен за помощь, но я обращался к файлам подписи не как способ проверки документов, а как способ индексирования документов.


http://en.wikipedia.org/wiki/Signature_files


Любая помощь будет принята с благодарностью.Файлы подписи для поиска документов

Спасибо,

ответ

0

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

Материал из Википедии:

Потому что почти любое изменение в файл приведет его MD5 хэш также изменения, хэш MD5 обычно используется для проверки целостности файлов (то есть, чтобы проверить что файл не изменил в результате передачи файла, ошибка диска, вмешательство и т. д.). Программа md5sum по умолчанию установлена ​​ в большинстве операционных систем Unix, Linux и Unix или совместимости . Варианты BSD (включая Mac OS X) имеют аналогичную утилиту md5. Версии для Microsoft Windows do есть.

0

Аналогично предложению Адама, если вы работаете с очень большим количеством документов, может быть хорошей идеей проверить SHA1 и sha1sum. Меньше коллизий и немного более совершенное шифрование.

2

Во-первых, давайте проясним некоторые термины.

A Цифровая подпись предназначена для равноценности собственноручной подписи (см. http://en.wikipedia.org/wiki/Digital_signature для лучшего описания и обзора).

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

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

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

Вы хотите создать отдельную подпись PKCS № 7 (жаргон - стандартная подпись, которая не содержит данные, поэтому ее можно хранить отдельно). Для этого я рекомендую вам использовать стандартную библиотеку, такую ​​как OpenSSL (которая переносима).