# SoftwareLicense **Repository Path**: EWIN66/SoftwareLicense ## Basic Information - **Project Name**: SoftwareLicense - **Description**: 软件注册及授权 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2020-09-06 - **Last Updated**: 2024-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目信息 ![](https://github.com/chen365409389/SoftwareLicense/blob/master/Img/REG.png) #### 用于进行软件授权 示例中使用了一组RSA密钥,实际项目中需要使用RSAKey生成新的密钥来使用
验证流程如下:

1.客户端从本地key.lic文件中读取授权信息
2.使用RSA公钥对授权信息进行签名验证
3.判断机器码是否与授权机器码一致
4.比对授权时间与本机时间是否过期
5.完成验证进入程序,未完成验证显示机器码提示注册

授权流程如下:

1.通过客户端机器码、授权时间等生成字串
2.使用密钥对字串进行签名
3.将签名信息和授权信息合并后整体转Base64
4.将Base64字串发送给客户端

#### 客户端调用示例 请对Register进行签名,防止程序替换 ```C# static class Program { /// /// 应用程序的主入口点。 /// [STAThread] static void Main() {            //进行授权验证            if (!Validate.Check()) return; //进行授权验证(无弹框模式)            //if (!Validate.Check(false)) // return; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmMain()); } } ``` JackChen
2018-04-17