文档章节

开源 .net license tool, EasyLicense !

EasyHelper
 EasyHelper
发布于 2017/07/04 20:25
字数 371
阅读 50
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

介绍:

 

 

过去我常常像是否有一个帮助授权的软件,它可以非常简单的创建license,并且非常容易的验证license。

这是一个非常普通和公共的功能,但是我没有找到合适的开源软件,大部分开源软件都比较复杂,并且有太多我不需要的功能。

 

所以我创建了这个项目,希望可以让授权的流程变的简单。

 

使用代码:

 

Easy License 非常容易使用,为了验证一个软件,你需要下面3个步骤。

 

1: Create a public/private Key.

if (File.Exists("privateKey.xml") || File.Exists("publicKey.xml"))
            {
                var result = MessageBox.Show("The key is existed, override it?", "Warning", MessageBoxButton.YesNo);
                if (result == MessageBoxResult.No)
                {
                    return;
                }
            }
 
            var privateKey = "";
            var publicKey = "";
            LicenseGenerator.GenerateLicenseKey(out privateKey, out publicKey);
 
            File.WriteAllText("privateKey.xml", privateKey);
            File.WriteAllText("publicKey.xml", publicKey);
 
            MessageBox.Show("The Key is created, please backup it.");

 

2:  Use private key to create a license

if (!File.Exists("privateKey.xml"))
            {
                MessageBox.Show("Please create a license key first");
                return;
            }
  
            var privateKey = File.ReadAllText(@"privateKey.xml");
            var generator = new LicenseGenerator(privateKey);
  
            var dictionary = new Dictionary<string, string>();
  
            // generate the license
            var license = generator.Generate("EasyLicense", Guid.NewGuid(), DateTime.UtcNow.AddYears(1), dictionary,
                LicenseType.Standard);
             
            txtLicense.Text = license;
            File.WriteAllText("license.lic", license);

 

3:  Use public key to validate the license

private static void ValidateLicense()
        {
            if (!File.Exists("publicKey.xml"))
            {
                MessageBox.Show("Please create a license key first");
                return;
            }
             
            var publicKey = File.ReadAllText(@"publicKey.xml");
  
            var validator = new LicenseValidator(publicKey, @"license.lic");
  
            try
            {
                validator.AssertValidLicense();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        

EasyLicense 内部有一个叫 LicenseTool 的工具,你可以下载源代码,运行,来看看它是怎样的创建Key,创建Licens 和验证License 的。

 

并且系统还有一个Demo 的项目,可以帮助你。

 

 

 

 

Git, 请帮忙加个star 吧。

 https://github.com/EasyHelper/EasyLicense

 http://git.oschina.net/EasyHelper/EasyLicense

上一篇: test
下一篇: test
EasyHelper
粉丝 0
博文 2
码字总数 3
作品 0
浦东
程序员
私信 提问
加载中
请先登录后再评论。
EasyNVR+EasyDSS实现简单套路的RTMP、微信直播、录像、回放方案之监控启动软件出现EasyLicense标识是什么问题

背景分析 2019年是5G元年,5G网络的建设逐步展开,政府、运营商和各行业客户对5G应用充满期待,与5G相关业务也遍地开花,其中视频领域是最明显应用之一,清洗团队在视频产品领域积累近10年,...

osc_v9ujioxy
2019/11/01
2
0
API 测试工具 - adtl

一 . 简述 adtl,起名难,起个好听的名字更难,这个名字来源于api demo tool的缩写,这款东西是用来测试Api的,提供http和ws测试功能. 二 . 特色 开源,免费,可修改 软件是开源的,采用"BSD 2-Clau...

1514582970
2019/05/10
1K
0
Go 微服务框架 - Kratos

Kratos Kratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具。 名字来源于:《战神》游戏以希腊神话为背景,讲述由凡人成为战神的奎托斯(Kratos)成为战神并展开弑神屠杀...

匿名
2019/04/24
1.6W
19
licMgr.py

#!/ic/tools/anaconda/bin/python3.6 # -- coding: utf-8 -- ################################ # FileName : licMgr.py # Author : yanqing.li # Created : 2019-01-02 12:49:44 ##########......

李艳青1987
2019/12/31
0
0
Spring Tool Suite(STS)安装

  Spring Tool Suite是一个基于Eclipse的开发环境,可以自定义用于开发Spring应用程序。它提供了一个随时可用的环境来实现,调试,运行和部署Spring应用程序,包括Pivotal tc Server,Piv...

osc_ea5rlz4l
2018/08/13
14
0

没有更多内容

加载失败,请刷新页面

加载更多

反反爬 | 如何巧过 CloudFlare 5秒盾?

巧破 Cloudflare 5秒盾 相信下面这个界面大家都不会陌生。【图1-1】 图1-1 当我们第一次访问使用 CloudFlare 加速的网站时,网站就会出现让我们等待 5 秒种的提示,当我们需要的通过爬虫爬取...

咸鱼学Python
2019/09/20
0
0
​Python爬虫学习之代理IP抓取(2)

Python爬虫学习之代理IP抓取 ✕ 代理数据保存清洗 运行效果: 然后我的IP就给封了 代理测试 代码没问题。。。 不过短短几分钟抓了6000条代理,也算是不错了 需要下载的模块 pip install tiny...

萌海无涯
2019/08/05
0
0
从nginx1.17.9源码理解nginx -s reload

使用nginx的时候,我们经常会使用nginx -s reload命令重启。下面我们就分析一下,执行这个命令的时候,nginx里发生了什么?我们从nginx的main函数开始。在main函数里,执行ngx_get_options函...

theanarkh
03/15
6
0
Geekpwn 2020云端挑战赛 Noxss & umsg

作者:LoRexxar'@知道创宇404实验室 时间:2020年7月14日 前两天看了今年Geekpwn 2020 云端挑战赛,web题目涉及到了几个新时代前端特殊技巧,可能在实战中利用起来难度比较大,但是从原理上又...

osc_ccy4urvn
12分钟前
0
0
host、referer和origin的区别

题图 By Clm From Bing 在http协议中这三个请求头比较容易让人产生混淆。 host比较容易理解,来看下MDN网站给的介绍: Host 请求头指明了服务器的域名(对于虚拟主机来说),以及(可选的)服...

挥刀北上
2019/02/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部