Как создать и использовать зашифрованные файлы свойств в Java? - PullRequest
1 голос
/ 22 февраля 2011

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

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


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

Ответы [ 5 ]

2 голосов
/ 22 февраля 2011

Вы можете использовать поток javax.crypto.Cipher [Input | Output] для чтения / записи ваших данных;тем не менее, вам придется применять в коде функцию однократной записи ... возможно, сравнивая данные с хешем SHA или что-то в этом роде, чтобы убедиться, что они не были изменены.

Я столкнулся с opensource икоммерческие менеджеры лицензий на Java ... вы можете искать вокруг, чтобы не изобретать велосипед.

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

Надеюсь, это поможет.

1 голос
/ 21 февраля 2013

Смотрите ответ на этот другой вопрос:

Защита пароля в файле свойств

Там было рекомендовано использование jasypt .

1 голос
/ 22 февраля 2011
0 голосов
/ 22 февраля 2011

Стандартное шифрование в Java довольно простое. Я предлагаю проверить справочное руководство для получения инструкций по использованию пакета javax.crypto. Однако я призываю вас пересмотреть свой дизайн, если он требует конфиденциальных данных, хранящихся на клиентских компьютерах, которым вы не доверяете пользователям. Причина, по которой я говорю, заключается в том, что для того, чтобы ваша программа могла получить доступ к информации, ей необходимо иметь внутренний ключ шифрования / дешифрования, что будет означать, что ключ будет храниться где-то в архиве. В лучшем случае он будет храниться как переменная в одном из class файлов. Изучение двоичного файла классов для определения этого ключа было бы тривиальным. По крайней мере, вам следует подумать о том, чтобы запутать ваш код шифрования, чтобы хотя бы немного усложнить идентификацию ключа, просто изучив двоичный код или декомпилировав файл класса.

0 голосов
/ 22 февраля 2011

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

Один из способов получить файл proeprties с зашифрованными данными - это зашифровать значения определенных полей и использовать базу 64 для преобразования их в текст.

...