You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
2.4 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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;
}
}
}