Как я могу легко сказать, если файл зашифрован - PullRequest
3 голосов
/ 05 марта 2012

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

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

Метод шифрования - openSSL (aes128).

До сих пор я пробовал getType(), но он возвращает content/unknown как для незашифрованных файлов данных, так и для зашифрованных файлов.

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

Я мог бы также проверить, является ли содержимое файла XML или простым текстом, вместо того, чтобы проверять, зашифрован ли файл, если это дает решениепроще?

Ответы [ 2 ]

4 голосов
/ 05 марта 2012

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

Изменить: учитывая ограничения, которые вы упоминаете, я думаю, вам придется делать то, что вы предлагаете в вопросе. Это http://www.dansdata.com/gz125.htm - интересное руководство по проблемам идентификации файлов. Вы также можете выполнить команду file unix, если она работает с вашими типами файлов.

0 голосов
/ 05 марта 2012

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

Ваш план проверки на XML будет в порядке, просто передайте его через анализатор XML. Однако это говорит только о том, является ли файл XML, а не о том, зашифрован ли он.

Как бы вы отличали простой текст от зашифрованного файла? Все просто текст, не так ли?

Какую реализацию aes вы используете? Какие библиотеки вы используете?

Зашифрованные файлы просто зашифрованы или они также закодированы в base64? Как эти файлы хранятся в файловой системе? Написано напрямую или через другой механизм?

На основании комментария к вопросу от @rosco, есть ли какая-либо причина, по которой файл не может быть расшифрован, чтобы проверить, зашифрован ли он? Это очень большие файлы? Ваше приложение расшифровывает или вы просто посредник? Существуют ли какие-либо ограничения безопасности, которые могут помешать вам расшифровать его?

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

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