nginx 资源加密解密插件, C# 客户端涉及到的问题

nginx 资源加密解密插件, C# 客户端涉及到的问题

问题描述:

#1 场景:
C/S架构,客户端是C#写的 windows程序,客户端中某个按钮会触发下载离线资源(图片、js、css、mp3等)

客户端安装后内置了一个nginx,以及用了cefSharp插件,这样会正常处理js ajax请求,内嵌的html会访问本地的nginx中的这些资源,比如http://localhost:port/xx/xx.jpg

现在担心这些宝贵的图片、mp3等等被用户拷贝,所以这些资源都需要加密。

#问题
那问题就来了, 加密不用说,java服务端,加密完扔给客户端就完了,但是客户端怎么进行解密呢? nginx有没有相关的插件去按照某种加密规则去解密这个资源呢? 或者还是需要客户端的同事,去修改cefSharp源码呢?

问问有没有人遇到过这种问题,请各位不吝赐教

先说下你是要防君子还是防小人。

小人比较难防,因为你的图片要显示,音乐要播放,必然要在客户端解密,只要调试你的程序,逆向找到解密的代码,还是可以拿到这些东西。

再说,还有截屏软件、录音软件,就算什么技术不要,只要运行你的程序,你“宝贵”的东西还是会被人家拿走。

如果你的“客户”根本不愿意付费,而是想着偷窃,技术手段又有什么意义呢,为什么非要给这些劣质用户,伪客户提供服务?果断放弃他们吧。

java端使用的什么加密方式,在客户端用C#写对应加密方式的解密代码啊。语言无所谓,只要加密方式一致就能解
参考下:https://www.cnblogs.com/sunxuchu/p/5622307.html

事情的关键是C#用的本地的Nginx来访问这些资源。如果只是C#端用,当然可以解密,目前是C#内部用的H5访问的这些本地nginx资源,如果资源本身加密了,那么用链接访问到的是加密后的数据无法展现。

比如localhost:8888/folder/aaa.jpg aaa.jpg已经被加密了,用nginx访问的时候根本就不是jpg格式的内容了,不会正常显示图片。

是的,小人比较难防,反编译等可以拿到。如果运行程序,里面是有权限控制的,还好,目前防的就是君子。
只要能做好加密解密即可,但如果说是不加密解密,把资源直接扔到临时目录,那种解决方案是不可以接受的。

C# 可以用 FileStream读取,不需要写入临时目录。