文档章节

开源 .net license tool, EasyLicense !

EasyHelper
 EasyHelper
发布于 2017/07/04 20:25
字数 371
阅读 6
收藏 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
浦东
程序员
私信 提问
EasyHelper/EasyLicense

EasyLicense An easy license library. EasyLicense is an open-source license tool for .NET applications. License Tool Demo Project --- Features EasyLicense is an open-source licen......

EasyHelper
2017/06/29
0
0
泷涯/SYFramework

English SYFramework 此框架是原为泷涯自用,现开源,框架基本遵循Module、Model、Controller、View的分层 目前最新稳定版本为,最新测试版本为 此项目基于Apache License 2.0开源 查看文档 ...

泷涯
2015/10/19
0
0
Remix OS 被指违反 GPL 和 Apache 许可证

Remix OS项目将移动版的Android操作系统带到了桌面上。但测试者很快注意到这个项目存在违反开源许可证的情况:它的Remix OS USB Tool软件其实是改了名字的 UNetbootin, 而UNetbootin采用的是...

oschina
2016/01/19
6.4K
43
许雪里/xxl-excel

XXL-EXCEL XXL-EXCEL, a fast and flexible tool for translating Java objects to and from Excel documents. -- Browse website. -- Introduction XXL-EXCEL is a fast and flexible tool ......

许雪里
2017/09/12
0
0
pippo/server-hardware-info-tool

server-hardware-info-tool 通过HP服务器 ILO4 Web接口获取服务器硬件信息,目前包涵CPU信息,内存信息,网卡信息 支持swagger 此处为单点开源获取服务器信息版本,适用于批量获取小规模服务器...

pippo
01/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

NEO共识算法图解

共识机制 术语说明 权益证明 PoS :一种利用网络协商一致来处理容错的算法。 工作量证明 PoW :一种利用计算能力来处理容错的算法。 拜占庭错误 BF: 一个节点保持功能,但以不诚实甚至是恶意...

NEO-FANS
10分钟前
1
0
maven编译时出现There are test failures

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project web_nanchang: There are test failures. [ERROR] [ERROR] Please r......

洛水
13分钟前
1
0
delphi在memo实现全选

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Shift =[ssCtrl]) and (Key=65) then Memo1.SelectAll end;......

dillonxiao
17分钟前
0
0
MaxCompute表设计最佳实践

MaxCompute表设计最佳实践 产生大量小文件的操作 MaxCompute表的小文件会影响存储和计算性能,因此我们先介绍下什么样的操作会产生大量小文件,从 而在做表设计的时候考虑避开此类操作。 使用...

阿里云云栖社区
21分钟前
0
0
“价值2个亿”的AI代码

前两天朋友圈里看到一段号称“价值一亿”的代码: 可以智能应答,很厉害是不是? 源码: Python 极简版: while True: print(input('').replace('吗','').replace('?','!')) 其实就是...

crossin
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部