簡體   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