代码拉取完成,页面将自动刷新
同步操作将从 西铭/License 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
世界上有免费开源项目,也会有商业项目。提倡开源,也倡导保护知识产权
并不是所有产品都是Sass服务,如果是有对外项目输出,且产品采用授权使用形式的企业,那么对自己的软件产品加上授权验证必不可少
该仓库包含两个C# MVVM项目,Master 和 Client ,均提供界面,使用于Windows操作系统;
Client 用于采集客户端机器信息,Master 用于生成授权码/文件,Master 编译后包含License.dll,用于提供给授权产品进行授权验证。具体见下面的流程图
wikipedia:公开密钥加密
wikipedia:数字签名
大致上的流程如下:
VS12 直接打开运行或者打包。这里就不提供直接运行的exe了
找不到图了,client 生成exe,在客户机器上执行,当前目录会生成机器信息文件
包含证书验证和证书生成两个部分,举例证书验证:
我们通过Master程序对生成的license.lic 文件进行解密验证:
<?xml version="1.0" encoding="utf-16"?>
<License xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<LicenceTo>ifengkou</LicenceTo>
<ProductName>cms</ProductName>
<MajorVersion>1</MajorVersion>
<MinorVersion>0</MinorVersion>
<Edition>标准版</Edition>
<SerialNumber>A7BFB2EF-7C59-44FB-9A58-6A0252975C54</SerialNumber>
<ExpireTo>2015-12-31T00:00:00</ExpireTo>
<UserData>01,0101,0102,0103,22,2211,1133,2231,2202,2205,2207,2209,2206,2230</UserData>
<Signature>Y3ayAMC7XZAT30eDlHqGybWvTjodlEJqZ+d09ytgNl3PEEd/9MM0OZfg5KIJfyFY1DTA5r99oVsT4Q0umpAfO5Gw4XPymQhxShtiWRLlBB7GME2Z6rxQZoGdJkPWTamG6l2pFUqcS7PAC3Iqee7Lnc6G35ML8s9Uxa++Vt3D7Aw=</Signature>
</License>
//获取lic文件,默认获取根目录下的license.lic文件
License license = License.GetLicense()
//获取主版本,副版本,产品类型,序列号,过期日期,用户信息(如权限集合),签名 等信息
license.Copyright
license.LicenceTo
license.ProductName
license.MajorVersion
license.MinorVersion
license.MachineHash
license.ExpireTo
license.license.UserData
license.DaysLeftInTrial
license.SerialNumber
4.验证、使用
//验证日期、验证MachineHash
bool License.VerifyLicense(License lic);
//也可以自己利用参数值做判断
if(license.ExpireTo > Date.now()){
//过期
}
if(license.DaysLeftInTrial < 30){
//即将过期,小于30天。可以提示用户
}
//利用UserData,将系统的菜单权限带过来
//license.UserData = 01,0101,0102......
String[] menus = license.UserData.split(",");
有任何意见或建议都欢迎提 issue,或者直接提给 @ifengkou
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。