我有一个奇特的web应用的想法,我做了一个原型,因为主要算法是解决NP-complete问题,它的计算密集型。如此之多,以至于如果我不得不做所有的服务器端计算,那么它就不值得了,同时,如果我在客户端计算机上运行它,我就不会有这个问题。
我对永远隐藏算法不抱任何幻想,我知道在不受我控制的计算机上运行的任何代码都可以进行逆向工程。我仍然不想让它变得如此简单,以至于任何人都可以毫不费力地下载.js文件(或其他文件)并在自己的网站上使用它。
我在这里有什么选择?我认为javascript已经过时了,因为..纯文本和所有内容。Flash很容易反编译,而Java是有问题的,因为许多计算机用户禁用了Flash,或者它需要在某个地方按下“接受”按钮等。
发布于 2015-06-09 08:39:42
而不会强迫他们使用java、flash、silver light或python等。
你会被javascript卡住。
第一步是最小化它。这将使人们很难进行逆向工程。
一个想法可能是将计算的关键部分放在服务器上进行。使用ajax与客户端进行来回通信。因此,您可以在客户端执行基本的grunt工作,然后在您想隐藏自己的魔力的时候执行ajax,等待响应并继续计算。通过这种方式,你可以使用客户端来完成比如90%的计算,然后服务器只完成10%的计算,没有人可以完全地对其进行逆向工程。
但老实说,由于安全问题,IMO和客户端计算是有风险的。但我猜这取决于你的特定用例,我之所以提到它,只是因为你的问题谈到了试图阻止信息被窃取。
https://stackoverflow.com/questions/30721161
复制相似问题