.NET C#研发的授权工具_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > .NET C#研发的授权工具

.NET C#研发的授权工具

 2017/2/17 5:34:04  Frank_Wu  程序员俱乐部  我要评论(0)
  • 摘要:最近公司要求研发一个针对web项目的授权系统,需求是1、项目部署后,必须与服务器绑定。防止恶意部署。2、工具可指定期限,web项目超过指定的期限,需要经过工具授权才可正常使用。3、通过授权文件的方式进行授权。根据需求,以及相关加密算法的比较,决定使用RSA加密的方式进行授权,以下为工具界面:工具的思路大致为:1、通过.NET封装的RSA帮助类生成公私钥。2、生成唯一的机器码字符串。3、通过生成的公钥与机器码字符串进行RSA加密,并形成License文件。4
  • 标签:.net C# net 工具 研发 授权

最近公司要求研发一个针对web项目的授权系统,

需求是

1、项目部署后,必须与服务器绑定。防止恶意部署。

2、工具可指定期限,web项目超过指定的期限,需要经过工具授权才可正常使用

3、通过授权文件的方式进行授权。

 

根据需求,以及相关加密算法的比较,决定使用RSA加密的方式进行授权,

以下为工具界面:

工具的思路大致为:

1、通过.NET封装的RSA帮助类生成公私钥。

2、生成唯一的机器码字符串。

3、通过生成的公钥与机器码字符串进行RSA加密,并形成License文件。

4、将License文件放到web项目的bin文件夹下。

5、通过对web项目编码进行是否授权判断,代码如下:

                //验证授权
                RSAHelper rsa = new RSAHelper();
                //授权路径
                string data = rsa.ReadAccreditFile(AppDomain.CurrentDomain.BaseDirectory + "\\Bin\\License");
                string condition = rsa.GetHash(ComputerHelper.GetComputerInfo() + "DataRight");
         //工具生成的私钥
string privateKey = ConfigurationManager.AppSettings["PrivateKey"]; privateKey = rsa.Decrypt(privateKey); string cdk = rsa.RSADecrypt(privateKey, data); if (!cdk.Equals(condition)) { return Content("对不起,您的系统尚未授权或授权已经超时"); }

 该工具可用于web项目以及winform项目授权

下载地址:http://download.csdn.net/detail/wyf_eason/9756292

发表评论
用户名: 匿名