如何用.net dll文件中的密码保护方法?
如果你有固定的密码,然后你可以有一个readonly
属性初始化与类
你的意思是说像这个例子..例如。 私有只读字符串密码; public testLibClass() { password =“1234”; (int a,int b,string pwd) { int result = 0; if(password == pwd) { result = a + b; } else { result = 0; } 返回结果; } –
是的,确切地说。 ! –
存储像DLL密码令牌的构造硬编码的值是不是一个好的做法。但是,如果有要求,您仍然可以执行以下操作。
在您的类库中创建一个全局变量并使用您的密码值进行初始化。说
string pwd="secret_code";
比定义一个字符串类型参数的函数作为参数
你可以简单的检查,通过用户在函数调用时传递的密码与整体匹配函数体内的一个或不。
如果匹配,则继续执行else break;
function demo(string password)
{
if(password==pwd)
//continue
//break;
};
demo("secret_code");
问任何疑问请。
我们还可以使用Encryption Technic以加密格式存储密码? –
@PraveenKumar - 你在这里一无所知。一旦你加密了你的密码,你在哪里/如何存储加密密钥?你没有看到你用一个问题替换了一个问题......完全一样的问题。 –
@PraveenKumar这是您可以绝对实现的附加功能。以上答案仅针对您的问题。顺便说一下,加密确实是最好的选择。 –
这是什么目标?大多数(所有?)解决方案对于任何人来说都是轻而易举的,因为反编译器一应俱全。 – Joey
当我们给任何客户的DLL,基于许可证将给密码的方法。这些方法只有他们可以使用它的应用程序。 –
如果你有公司客户,你有合法的方法来确保未经授权的使用受到惩罚。除此之外,您可以使用[.NET的许可机制](https://www.developer.com/net/csharp/article.php/3074001)为您的库取代使用密码。这仍然存在如何确保客户拥有无效许可证时图书馆不能工作的问题。它仍然是可以修补的,所以你必须在代码中隐藏killswitches时有所创意。但是没有绝对的安全性,有人决定可以在任何情况下从库中补充许可证检查。 – Joey