繁体   English   中英

如何保护用.Net编写的API

[英]How to secure an API written in .Net

这是对SO中有关保护/模糊.Net应用程序的一般问题的一个变体。

我正在用C#开发一个API,其中包含一些我希望保护的算法。 我知道没有一种方法会是完美的,但是普遍接受的方法是什么?

我希望我的客户能够针对该API进行编码,但我不希望他们对其中的内容进行逆向工程(至少我不希望对他们而言如此简单)。

如果我混淆了代码,那也不会混淆API吗?

我们正在寻找smartAssembly,希望对该产品发表任何意见。

这可能不是您的选择,但请考虑通过永远不要分发算法来保护它们。 您可以通过Web服务,.asmx或WCF提供处理吗?

AFAIK,没有绝对完美的方法来保护您的代码,但是混淆和加密会使它变得比进行反向工程更困难。

混淆它。 混淆工具不会混淆公共API,因为这会破坏依赖于它的外部代码。

一个好的代码混淆器将采取lis tof例外来避免混淆,并且一般来说只能切换为混淆实现细节,而不接触公共API(类,属性等)。 因此,如果您编码正确(正面公开,所有实现细节均非公开),则应该做得很好。

您提到了smartAssembly。 还有DotnetreactorDotfuscator和一个开源混淆器: sharpobfuscator

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM