Commit 647a7a47 authored by zhanglongtao's avatar zhanglongtao

测试

parent 2c5d6c01
...@@ -8,8 +8,54 @@ using System.Text; ...@@ -8,8 +8,54 @@ using System.Text;
namespace HYH.Registry.Services.Encryption namespace HYH.Registry.Services.Encryption
{ {
/// <summary>
///
/// </summary>
public static class ComputerInfoHelper public static class ComputerInfoHelper
{ {
/// <summary>
/// 获取电脑 MAC(物理) 地址
/// </summary>
/// <returns></returns>
public static string GetMACAddress()
{
//获取本机所有网络连接
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
if (nics == null || nics.Length < 1)
{
return "";
}
var MACIp = "";
foreach (NetworkInterface adapter in nics)
{
string macip = "";
var adapterName = adapter.Name;
//var adapterDescription = adapter.Description;
//var NetworkInterfaceType = adapter.NetworkInterfaceType;
PhysicalAddress address = adapter.GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
macip += bytes[i].ToString("X2");
if (i != bytes.Length - 1)
{
macip += ":";
}
}
if (adapter.OperationalStatus == OperationalStatus.Up && !string.IsNullOrEmpty(adapterName) && !string.IsNullOrEmpty(macip))
{
MACIp += macip;
break;
}
}
return MACIp;
}
//获取硬盘序列号 //获取硬盘序列号
public static string GetHardDiskSerialNumber() public static string GetHardDiskSerialNumber()
{ {
...@@ -148,6 +194,7 @@ namespace HYH.Registry.Services.Encryption ...@@ -148,6 +194,7 @@ namespace HYH.Registry.Services.Encryption
} }
} }
//} //}
MACIp += "[" + adapterName + ":" + macip + "-" + adapterDescription + "-" + NetworkInterfaceType + "] "; MACIp += "[" + adapterName + ":" + macip + "-" + adapterDescription + "-" + NetworkInterfaceType + "] ";
} }
......
...@@ -5,21 +5,35 @@ using System.Text; ...@@ -5,21 +5,35 @@ using System.Text;
namespace HYH.Registry.Services.Encryption namespace HYH.Registry.Services.Encryption
{ {
/// <summary> /// <summary>
/// /// 加密dto
/// </summary> /// </summary>
public class EncryptionDto public class EncryptionDto
{ {
/// <summary> /// <summary>
/// /// 合成码
/// </summary> /// </summary>
public string CipherText { get; set; } public string CipherText { get; set; }
/// <summary> /// <summary>
/// /// 公司名称
/// </summary> /// </summary>
public string CompanyName { get; set; } public string CompanyName { get; set; }
/// <summary> /// <summary>
/// /// 日期
/// </summary> /// </summary>
public string ExpirationDate { get; set; } public string ExpirationDate { get; set; }
} }
/// <summary>
/// 保存授权码dto
/// </summary>
public class SaveCiphertextDto
{
/// <summary>
/// 授权码
/// </summary>
public string AuthorizationCode { get; set; }
/// <summary>
/// 租户号
/// </summary>
public string TenantCode { get; set; }
}
} }
...@@ -5,6 +5,7 @@ using HYH.Core.DbModels; ...@@ -5,6 +5,7 @@ using HYH.Core.DbModels;
using HYH.Registry.DbModels; using HYH.Registry.DbModels;
using HYH.Registry.EntityFrameworkCore; using HYH.Registry.EntityFrameworkCore;
using HYH.SqlSugarCore; using HYH.SqlSugarCore;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;
...@@ -36,6 +37,97 @@ namespace HYH.Registry.Services.Encryption ...@@ -36,6 +37,97 @@ namespace HYH.Registry.Services.Encryption
} }
/// <summary>
/// 获取Mac地址
/// </summary>
/// <returns></returns>
[HttpGet]
public string GetMACAddress()
{
string MACAddress = ComputerInfoHelper.GetMACAddress();
return MACAddress;
}
/// <summary>
/// 获取合成码
/// </summary>
/// <returns></returns>
[AllowAnonymous]
[HttpGet]
public string GetGeneratedCode()
{
string data = ComputerInfoHelper.GetMACAddress();
//string hostName = ComputerInfoHelper.GetHostName();
//string data = netCardMACAddress;
var result = AESHelper.AESEncrypt(data, "jianzhukeji", "jzkj");
return result;
}
/// <summary>
/// 生成授权码
/// </summary>
/// <returns></returns>
[AllowAnonymous]
[HttpPost]
public string GetGeneratingCiphertext(EncryptionDto input)
{
// 解密
string data = AESHelper.AESDecrypt(input.CipherText, "jianzhukeji", "jzkj");
// 到期时间
string timeStr = Convert.ToDateTime(input.ExpirationDate).ToString("yyyy-MM-dd HH:mm:ss");
// 公司名称
string companyName = input.CompanyName;
data = timeStr + data + companyName;
data = data.PadRight(72);
// 加密
var result = AESHelper.AESEncrypt(data, "jianzhukeji", "jzkj");
return result;
}
/// <summary>
/// 保存加密后的密文到数据库租户表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[AllowAnonymous]
[HttpPost]
public async Task<IActionResult> SaveCiphertext(SaveCiphertextDto input)
{
var tenant = _repTenant.FirstOrDefault(q => q.Code == input.TenantCode);
tenant.RegistryCipher = input.AuthorizationCode;
await _repTenant.UpdateAsync(tenant);
return new JsonResult(true);
}
/// <summary>
/// 登录的密文验证
/// </summary>
/// <returns></returns>
public async Task<IActionResult> LoginCipherCertification()
{
bool flag = false;
try
{
string netCardMACAddress = ComputerInfoHelper.GetMACAddress();
var tenant = await _repTenant.FirstOrDefaultAsync(q => q.Code == _currentUser.TenantCode);
if (!string.IsNullOrEmpty(tenant.RegistryCipher))
{
// 解密
var dataString = AESHelper.AESDecrypt(tenant.RegistryCipher, "jianzhukeji", "jzkj");
string timeStr = dataString.Substring(0, 19);
DateTime dateTime = Convert.ToDateTime(timeStr);
if (dateTime > DateTime.Now)
{
flag = true;
}
}
}
catch (Exception ex)
{
string str = ex.Message;
}
return new JsonResult(flag);
}
/// <summary> /// <summary>
/// 获取Mac地址 /// 获取Mac地址
...@@ -97,69 +189,6 @@ namespace HYH.Registry.Services.Encryption ...@@ -97,69 +189,6 @@ namespace HYH.Registry.Services.Encryption
string hardDiskSerialNumber = ComputerInfoHelper.GetHardDiskSerialNumber(); string hardDiskSerialNumber = ComputerInfoHelper.GetHardDiskSerialNumber();
return hardDiskSerialNumber; return hardDiskSerialNumber;
} }
/// <summary>
/// 合成码
/// </summary>
/// <returns></returns>
[HttpGet]
public string GetGeneratedCode()
{
//string netCardMACAddress = ComputerInfoHelper.GetNetCardMACAddress();
//string hardDiskSerialNumber = ComputerInfoHelper.GetHardDiskSerialNumber();
string netCardMACAddress = ComputerInfoHelper.GetMACIp();
string hostName = ComputerInfoHelper.GetHostName();
string data = netCardMACAddress + hostName;
var dataLen = data.Length;
var result = AESHelper.AESEncrypt(data, "jianzhukeji", "jzkj");
var length = result.Length;
return result;
}
/// <summary>
/// 生成密文
/// </summary>
/// <returns></returns>
[HttpGet]
public string GetGeneratingCiphertext(EncryptionDto input)
{
string data = AESHelper.AESDecrypt(input.CipherText, "jianzhukeji", "jzkj");
//var tenant = _repTenant.FirstOrDefault(q => q.Code == _currentUser.TenantCode);
string timeStr = Convert.ToDateTime(input.ExpirationDate).ToString("yyyy-MM-dd HH:mm:ss");
string companyName = input.CompanyName;
//string time = input.ExpirationDate;
//string companyName = input.CompanyName;
data = timeStr + data + companyName;
data = data.PadRight(72);
var datalen = data.Length;
var result = AESHelper.AESEncrypt(data, "jianzhukeji", "jzkj");
var length = result.Length;
return result;
}
/// <summary>
/// 登录的密文验证
/// </summary>
/// <returns></returns>
public async Task<IActionResult> LoginCipherCertification()
{
bool flag = false;
string netCardMACAddress = ComputerInfoHelper.GetMACIp();
string hostName = ComputerInfoHelper.GetHostName();
var tenant = await _repTenant.FirstOrDefaultAsync(q => q.Code == _currentUser.TenantCode);
if (!string.IsNullOrEmpty(tenant.RegistryCipher))
{
// 解密
var dataString = AESHelper.AESDecrypt(tenant.RegistryCipher, "jianzhukeji", "jzkj");
string timeStr = dataString.Substring(0, 19);
DateTime dateTime = Convert.ToDateTime(timeStr);
if (dateTime > DateTime.Now)
{
flag = true;
}
}
return new JsonResult(flag);
}
/// <summary> /// <summary>
/// 获取内网ip /// 获取内网ip
......
...@@ -37,6 +37,17 @@ ...@@ -37,6 +37,17 @@
<param name="Vector">向量</param> <param name="Vector">向量</param>
<returns>明文</returns> <returns>明文</returns>
</member> </member>
<member name="T:HYH.Registry.Services.Encryption.ComputerInfoHelper">
<summary>
</summary>
</member>
<member name="M:HYH.Registry.Services.Encryption.ComputerInfoHelper.GetMACAddress">
<summary>
获取电脑 MAC(物理) 地址
</summary>
<returns></returns>
</member>
<member name="M:HYH.Registry.Services.Encryption.ComputerInfoHelper.GetHostName"> <member name="M:HYH.Registry.Services.Encryption.ComputerInfoHelper.GetHostName">
<summary> <summary>
...@@ -57,22 +68,37 @@ ...@@ -57,22 +68,37 @@
</member> </member>
<member name="T:HYH.Registry.Services.Encryption.EncryptionDto"> <member name="T:HYH.Registry.Services.Encryption.EncryptionDto">
<summary> <summary>
加密dto
</summary> </summary>
</member> </member>
<member name="P:HYH.Registry.Services.Encryption.EncryptionDto.CipherText"> <member name="P:HYH.Registry.Services.Encryption.EncryptionDto.CipherText">
<summary> <summary>
合成码
</summary> </summary>
</member> </member>
<member name="P:HYH.Registry.Services.Encryption.EncryptionDto.CompanyName"> <member name="P:HYH.Registry.Services.Encryption.EncryptionDto.CompanyName">
<summary> <summary>
公司名称
</summary> </summary>
</member> </member>
<member name="P:HYH.Registry.Services.Encryption.EncryptionDto.ExpirationDate"> <member name="P:HYH.Registry.Services.Encryption.EncryptionDto.ExpirationDate">
<summary> <summary>
日期
</summary>
</member>
<member name="T:HYH.Registry.Services.Encryption.SaveCiphertextDto">
<summary>
保存授权码dto
</summary>
</member>
<member name="P:HYH.Registry.Services.Encryption.SaveCiphertextDto.AuthorizationCode">
<summary>
授权码
</summary>
</member>
<member name="P:HYH.Registry.Services.Encryption.SaveCiphertextDto.TenantCode">
<summary>
租户号
</summary> </summary>
</member> </member>
<member name="T:HYH.Registry.Services.Encryption.EncryptionService"> <member name="T:HYH.Registry.Services.Encryption.EncryptionService">
...@@ -85,57 +111,70 @@ ...@@ -85,57 +111,70 @@
构造函数 构造函数
</summary> </summary>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetNetCardMACAddress"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetMACAddress">
<summary> <summary>
获取Mac地址 获取Mac地址
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.PrintAllMacAddress"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetGeneratedCode">
<summary> <summary>
获取所有Mac地址 获取合成码
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetFirstMacAddress"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetGeneratingCiphertext(HYH.Registry.Services.Encryption.EncryptionDto)">
<summary> <summary>
获取第一个mac地址 生成授权码
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetMACIp"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.SaveCiphertext(HYH.Registry.Services.Encryption.SaveCiphertextDto)">
<summary>
保存加密后的密文到数据库租户表
</summary>
<param name="input"></param>
<returns></returns>
</member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.LoginCipherCertification">
<summary>
登录的密文验证
</summary>
<returns></returns>
</member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetNetCardMACAddress">
<summary> <summary>
获取Mac地址 获取Mac地址
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetName"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.PrintAllMacAddress">
<summary> <summary>
获取电脑名称 获取所有Mac地址
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetHardDiskSerialNumber"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetFirstMacAddress">
<summary> <summary>
获取硬盘序列号 获取第一个mac地址
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetGeneratedCode"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetMACIp">
<summary> <summary>
合成码 获取Mac地址
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetGeneratingCiphertext(HYH.Registry.Services.Encryption.EncryptionDto)"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetName">
<summary> <summary>
生成密文 获取电脑名称
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:HYH.Registry.Services.Encryption.EncryptionService.LoginCipherCertification"> <member name="M:HYH.Registry.Services.Encryption.EncryptionService.GetHardDiskSerialNumber">
<summary> <summary>
登录的密文验证 获取硬盘序列号
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment