我对一个花哨的网络应用程序有一个想法,我做了一个原型,因为主要的算法是解决NP完全问题,它相当计算密集。如果我不得不做所有的计算服务器端,那么它就不值得了,同时,如果我在客户端计算机上运行它,我就不会有这个问题。
我对于永远隐藏算法没有任何幻想,我知道任何不受我控制的计算机中运行的代码都可以进行逆向工程。我仍然不想让任何人只需下载.js文件(或其他任何内容)并在他们自己的网站上使用它就不那么容易了。
我在这里有什么选择?我认为javascript已经出来了..纯文本和所有。 Flash很容易反编译,Java也有问题,因为许多计算机用户已将其禁用或需要在某处按“接受”按钮等。
答案 0 :(得分:0)
不强迫他们使用java,flash,silver light或python等等。
你会被javascript困住。
第一步是尽量减少它。这将使人们很难进行逆向工程。
一个想法可能是获取计算的关键部分并在服务器上执行。使用ajax与客户端进行前后通信。所以你可以在客户端做基本的咕噜声工作,然后在你想要隐藏魔法的地方做ajax等待响应并继续计算。通过这种方式,您可以使用客户端执行90%的计算,然后服务器只执行10%的操作,并且没有人可以完全对其进行逆向工程。
但说实话,由于安全问题,IMO和客户端计算存在风险。但我想这取决于你的特定用例,我只提及它,因为你的问题涉及试图阻止信息被盗。