文档章节

开源 .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

本文转载自:

共有 人打赏支持
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

没有更多内容

加载失败,请刷新页面

加载更多

20180920 rzsz传输文件、用户和用户组相关配置文件与管理

利用rz、sz实现Linux与Windows互传文件 [root@centos01 ~]# yum install -y lrzsz # 安装工具sz test.txt # 弹出对话框,传递到选择的路径下rz # 回车后,会从对话框中选择对应的文件传递...

野雪球
今天
1
0
OSChina 周四乱弹 —— 毒蛇当辣条

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 达尔文:分享花澤香菜/前野智昭/小野大輔/井上喜久子的单曲《ミッション! 健?康?第?イチ》 《ミッション! 健?康?第?イチ》- 花澤香菜/前野智...

小小编辑
今天
7
3
java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
今天
3
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
今天
2
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部