将某些图像捆绑到.jar包(Java + Swing)中时,保护里面的JPG文件以防止用户访问包并将上述图像复制到他们自己的?Java:在.jar包中加密JPG文件
回答
您可以获取图像的字节表示形式,并将其另存为其他文件扩展名,或者您可以使用javax.crypto软件包对其进行加密,但我认为它不是必需的。
更改文件扩展名有什么作用? – CodesInChaos
您可以将其更改为用户无法打开的.something扩展名,将其视为正常序列化,将Image对象保存为二进制文件,在这种情况下,组成该文件的字节的顺序与“真实”的图像,除此之外,我认为通过对图像文件结构进行加密来尝试和混淆并不是一件有趣的事情...... –
无论您给予的扩展名是什么,典型的图像查看器都可以打开图像。他们使用魔术字节来查看文件是一个jpg图像。例如,当我用irfanview打开一个重命名的jpg文件时,它告诉我这是一个带有错误文件扩展名的jpg,并提供重命名它。 – CodesInChaos
您可以在将它们包含在JAR中之前加密它们,然后在应用程序中显示(或以其他方式使用)之前解密。这个简单的实现将要求你将私钥与你的应用捆绑在一起,如果'用户'足够确定,这基本上否定了加密。或者,您可以在应用启动时从托管网站下载密钥。不是万无一失的,它会拖拽你的应用程序的性能。
或者您可以将图像拆分为随机帧并在显示之前合并它们。基本上可以隐藏数据。
有一百万种方法可以说实话,哈哈,但实际上,它们都不是万无一失的,而且肯定比它的价值更麻烦。毕竟你打算最终显示图像是否正确? '用户'在哪一点可以做一个屏幕抓取。
如果你是关心你的版权,那么我建议你为你的照片加上水印,所以如果你发现有人使用它们,你有法律追索权。
你可以写一些基本的代码来对图像进行对称加密/解密。这可以防止业余用户窃取你的图像,但是黑客可以在几个小时内解密它们。 对于对称加密示例,请参见http://www.java2s.com/Code/Java/Security/Basicsymmetricencryptionexample.htm
- 1. 访问jar文件中的.jpg文件
- 2. 在Java Jar文件中包含GImages
- 3. .Jar to .EXE(加密文件)
- 4. 如何加密.jar文件
- 5. 包括Java的JAR文件中的Kohana
- 6. Java从jar加载文件
- 7. 我的文件不包含在jar文件中Java
- 8. 如何将java文件包含在.jar文件中?
- 9. eclipse:在jar包中包含abitrary文件
- 10. Java包Jar包含文本文件和文件夹
- 11. 如何创建加密的Jar文件?
- 12. 在IntelliJ中密封jar文件
- 13. 如何打包/加密/解压缩/ Java解密一堆文件?
- 14. 在winapi中加载jpg文件
- 15. 文件加密和解密在Java中,不工作解密
- 16. 在Eclipse上使用仅包含Java源文件的JAR文件
- 17. 包括JAR文件
- 18. 我如何从Java加密文件加密的文件中解密objective-c
- 19. 关于文件交换的Java教程:为什么要在加密之前将文档放在jar文件中?
- 20. JAR文件中的Java Applet
- 21. Java - 编辑manifest.mf使JAR中包含.class和.java文件
- 22. java库新手 - 在jar文件中包含什么
- 23. Java在Lucene中为contrib包创建一个JAR文件
- 24. Jar文件:在jar中加载配置文件
- 25. 在NetBeans中将jar文件包含在另一个jar文件中
- 26. 3des加密/解密文件java
- 27. 打包Java应用程序时,jar文件中不包含属性文件
- 28. 加载外部JAR文件与Java
- 29. Java:更新jar文件时加载类
- 30. .png和.jpg文件的解密
图像是否显示在应用程序中?如果是这样,什么是阻止最终用户采取屏幕截图?再见了!如果有人递交了一个应用对于那些试图限制我对资源的访问的人来说,我会掀起一些机器人去浏览每个页面/图像,然后做一个截图。将它们保存到磁盘。完成。 –