Java: зашифровать файл JPG внутри пакета .jar - PullRequest
0 голосов
/ 03 ноября 2011

При объединении некоторых изображений в пакет .jar (Java + Swing), как лучше защитить файлы JPG внутри, чтобы пользователи не могли получить доступ к пакету и копировать вышеупомянутые изображения для своих собственных?

Ответы [ 3 ]

2 голосов
/ 03 ноября 2011

Вы можете зашифровать их перед включением в JAR, а затем расшифровать прямо перед отображением (или иным образом использовать) в вашем приложении. Тривиальная реализация этого потребует от вас связать закрытый ключ с вашим приложением, что в основном сводит на нет шифрование, если «пользователь» определен достаточно. Кроме того, вы можете загрузить ключ с хост-сайта при запуске приложения. Не является надежным, и это снизит производительность вашего приложения.

Или вы можете разделить изображения на случайные кадры и объединить их непосредственно перед отображением. В основном обфусцируйте данные.

Есть миллион способов быть честными, ха-ха, но на самом деле, ни один из них не является надежным и обречен на большие проблемы, чем его ценность. В конце концов вы собираетесь отображать изображение в конечном итоге правильно? В этот момент «пользователь» может просто сделать снимок экрана.

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

0 голосов
/ 03 ноября 2011

Вы можете написать базовый код для симметричного шифрования / дешифрования ваших изображений. Это предотвратит кражу ваших изображений любителем, но хакер сможет расшифровать их все через несколько часов. Пример симметричного шифрования см. http://www.java2s.com/Code/Java/Security/Basicsymmetricencryptionexample.htm

0 голосов
/ 03 ноября 2011

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

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