架构师_程序员

标题: C#web项目授权 NET C#研发的授权工具 附带源码 [打印本页]

作者: kaikaixinxin    时间: 2018-10-2 20:57
标题: C#web项目授权 NET C#研发的授权工具 附带源码
NET C#研发的授权工具

最近公司要求研发一个针对web项目的授权系统,
需求是
1、项目部署后,必须与服务器绑定。防止恶意部署。
2、工具可指定期限,web项目超过指定的期限,需要经过工具授权才可正常使用。
3、通过授权文件的方式进行授权。

根据需求,以及相关加密算法的比较,决定使用RSA加密的方式进行授权,
以下为工具界面:
(, 下载次数: 1)
工具的思路大致为:
1、通过.NET封装的RSA帮助类生成公私钥。
2、生成唯一的机器码字符串。
3、通过生成的公钥与机器码字符串进行RSA加密,并形成License文件。
4、将License文件放到web项目的bin文件夹下。
5、通过对web项目编码进行是否授权判断,代码如下:

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



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




作者: kaikaixinxin    时间: 2018-10-4 12:15
NET C#研发的授权工具
作者: cd37ycs    时间: 2018-10-5 14:31
感谢分享资料。
作者: lightweight    时间: 2018-10-5 16:48
感谢分享资料
作者: 飞鱼    时间: 2018-10-7 15:04
不错,来看看。
作者: zqstc124    时间: 昨天 15:47
不错哦,可以膜拜下吗




欢迎光临 架构师_程序员 (https://www.itsvse.com:443/) Powered by Discuz! X3.4