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, ILicenseService { public LicenseService(IEnumRepository iRepository) : base(iRepository) { } public string GetLicenseRegistInfo() { return LicenseRegistInfoEncrypt(); } /// /// 对授权注册码加密 /// /// private string LicenseRegistInfoEncrypt() { string licenseStr = JsonConvert.SerializeObject(LicenseUtil.licenseInfo); string licenseAes = SecurityEncDecrypt.EncryptDES(licenseStr, CommonConstWords.AES_KEY); return licenseAes; } /// /// 发放授权码给工厂 /// /// 工厂给到的授权注册码 /// 授权到期时间 /// public string GetLicenseInfo(string licenseRegistAes, string expireTime) { string licenseStr = SecurityEncDecrypt.DecryptDES(licenseRegistAes, CommonConstWords.AES_KEY); LicenseInfo licenseInfo = JsonConvert.DeserializeObject(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; } } }