|
|
using Estsh.Core.Const;
|
|
|
using Estsh.Core.IServices;
|
|
|
using Estsh.Core.Models;
|
|
|
using Estsh.Core.Repository.IRepositories;
|
|
|
using Estsh.Core.Util;
|
|
|
using Hardware.Info;
|
|
|
using Newtonsoft.Json;
|
|
|
using System.Text;
|
|
|
|
|
|
/***************************************************************************************************
|
|
|
*
|
|
|
* 更新人:sitong.dong
|
|
|
* 描述:
|
|
|
* 修改时间:2022.06.22
|
|
|
* 修改日志:系统迭代升级
|
|
|
*
|
|
|
**************************************************************************************************/
|
|
|
namespace Estsh.Core.Services
|
|
|
{
|
|
|
public class LicenseService : BaseService<SysEnum>, ILicenseService
|
|
|
{
|
|
|
public LicenseService(IEnumRepository iRepository) : base(iRepository)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
public string GetLicenseRegistInfo()
|
|
|
{
|
|
|
return LicenseRegistInfoEncrypt();
|
|
|
}
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 对授权注册码加密
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
private string LicenseRegistInfoEncrypt()
|
|
|
{
|
|
|
string licenseStr = JsonConvert.SerializeObject(LicenseUtil.licenseInfo);
|
|
|
string licenseAes = SecurityEncDecrypt.EncryptDES(licenseStr, CommonConstWords.AES_KEY);
|
|
|
return licenseAes;
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 发放授权码给工厂
|
|
|
/// </summary>
|
|
|
/// <param name="licenseRegistAes">工厂给到的授权注册码</param>
|
|
|
/// <param name="expireTime">授权到期时间</param>
|
|
|
/// <returns></returns>
|
|
|
public string GetLicenseInfo(string licenseRegistAes, string expireTime)
|
|
|
{
|
|
|
string licenseStr = SecurityEncDecrypt.DecryptDES(licenseRegistAes, CommonConstWords.AES_KEY);
|
|
|
LicenseInfo licenseInfo = JsonConvert.DeserializeObject<LicenseInfo>(licenseStr);
|
|
|
licenseInfo.licenseEndDateTime = expireTime;
|
|
|
licenseInfo.licenseStartDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
RsaHelper rsaHelper = new RsaHelper(RSAType.RSA2, Encoding.UTF8, CommonConstWords.RSA_PRIVATE_KEY, CommonConstWords.RSA_PUBLIC_KEY);
|
|
|
|
|
|
string licenseE = rsaHelper.SubEncrypt(JsonConvert.SerializeObject(licenseInfo));
|
|
|
|
|
|
|
|
|
|
|
|
return licenseE;
|
|
|
}
|
|
|
|
|
|
public LicenseInfo LicenseActivate(string licenseStr)
|
|
|
{
|
|
|
LicenseUtil.LicenseActivate(licenseStr);
|
|
|
return LicenseUtil.licenseInfo;
|
|
|
}
|
|
|
}
|
|
|
}
|