Healnet.Common 1.0.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package Healnet.Common --version 1.0.7
                    
NuGet\Install-Package Healnet.Common -Version 1.0.7
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Healnet.Common" Version="1.0.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Healnet.Common" Version="1.0.7" />
                    
Directory.Packages.props
<PackageReference Include="Healnet.Common" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Healnet.Common --version 1.0.7
                    
#r "nuget: Healnet.Common, 1.0.7"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Healnet.Common@1.0.7
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Healnet.Common&version=1.0.7
                    
Install as a Cake Addin
#tool nuget:?package=Healnet.Common&version=1.0.7
                    
Install as a Cake Tool

Healnet.Common

Healnet.Common 是 Healnet 框架的基础通用工具类库,提供核心的帮助方法和通用扩展。

功能特性

工具类 说明
CryptoHelper 提供 MD5、SHA256、SHA512、RSA、AES 等多种加密算法,支持密码哈希与验证
JsonHelper 提供 JSON 序列化/反序列化的便捷方法,支持深度克隆
CollectionExtensions 提供常用的集合操作扩展方法(空值检查、安全获取、分批处理、去重等)
NetworkHelper 提供 IP 地址获取、端口检查、网络检测等功能
EnvironmentHelper 提供环境变量、系统信息、目录操作等功能
ServiceAddressHelper 提供多环境自动获取服务地址功能(支持 K8s、Docker、开发环境)
SnowflakeHelper 提供雪花ID生成器,支持分布式唯一ID生成
DateTimeHelper 提供日期时间格式化、时区转换、时间戳处理等功能

安装

Install-Package Healnet.Common

使用示例

CryptoHelper

// 密码哈希与验证
var hashedPassword = CryptoHelper.HashPassword("user123");
bool isValid = CryptoHelper.VerifyPassword("user123", hashedPassword);

// MD5/SHA 加密
var md5 = CryptoHelper.Md5Encrypt("test");
var sha256 = CryptoHelper.Sha256Encrypt("test");

// AES 加密解密
var encrypted = CryptoHelper.AesEncrypt("secret", "mykey123456789012345");
var decrypted = CryptoHelper.AesDecrypt(encrypted, "mykey123456789012345");

// RSA 密钥对生成与加解密
var (publicKey, privateKey) = CryptoHelper.GenerateRsaKeyPair();
var rsaEncrypted = CryptoHelper.RsaEncrypt("secret", publicKey);
var rsaDecrypted = CryptoHelper.RsaDecrypt(rsaEncrypted, privateKey);

JsonHelper

// 序列化对象
var user = new User { Name = "John", Age = 30 };
string json = JsonHelper.Serialize(user);
string formattedJson = JsonHelper.SerializeIndented(user);

// 反序列化 JSON
User? user = JsonHelper.Deserialize<User>(json);

// 深度克隆
var clonedUser = JsonHelper.Clone(user);

CollectionExtensions

// 空值检查
if (list.IsNullOrEmpty()) { /* 处理空集合 */ }
if (list.HasValue()) { /* 处理非空集合 */ }

// 安全获取元素
var first = list.FirstOrDefaultSafe();
var last = list.LastOrDefaultSafe();

// 分批处理
foreach (var batch in list.Batch(100))
{
    await ProcessBatch(batch);
}

// 去重
var distinctList = list.DistinctBy(item => item.Id);

ServiceAddressHelper

用于在不同环境(Kubernetes、Docker、开发环境)中自动获取服务地址:

// 获取服务地址(自动适配环境)
var address = ServiceAddressHelper.GetServiceAddress();
var addressWithDefault = ServiceAddressHelper.GetServiceAddress("127.0.0.1");

// 获取服务端口(从环境变量或默认值)
var port = ServiceAddressHelper.GetServicePort(8080);

// 判断运行环境
bool isK8s = ServiceAddressHelper.IsKubernetesEnvironment();
bool isDocker = ServiceAddressHelper.IsDockerEnvironment();
string env = ServiceAddressHelper.GetRunningEnvironment();

// 生成服务 ID(用于 Consul 注册)
var serviceId = ServiceAddressHelper.GetServiceId("my-service");
var serviceIdFromEnv = ServiceAddressHelper.GetServiceIdFromEnvironment("my-service");

// 获取健康检查 URL
var healthUrl = ServiceAddressHelper.GetHealthCheckUrl(8080);

NetworkHelper

// 获取本机 IP 地址
var localIp = NetworkHelper.GetLocalIpAddress();
var allIps = NetworkHelper.GetLocalIpAddresses();

// 获取 MAC 地址和主机名
var macAddress = NetworkHelper.GetMacAddress();
var hostName = NetworkHelper.GetHostName();

// 端口检查
bool portInUse = NetworkHelper.IsPortInUse(8080);
int availablePort = NetworkHelper.FindAvailablePort(10000, 20000);

EnvironmentHelper

// 环境变量操作
var dbConnection = EnvironmentHelper.GetEnvironmentVariable("DB_CONNECTION");
var apiUrl = EnvironmentHelper.GetEnvironmentVariable("API_URL", "http://localhost:5000");

// 环境判断
bool isDev = EnvironmentHelper.IsDevelopment();
bool isProd = EnvironmentHelper.IsProduction();

// 系统信息
var machineName = EnvironmentHelper.GetMachineName();
var osVersion = EnvironmentHelper.GetOsVersion();

SnowflakeHelper

// 初始化雪花ID生成器
var snowflake = SnowflakeHelper.Instance;

// 生成唯一ID
long id = snowflake.NextId();

// 获取ID的时间戳
DateTime timestamp = snowflake.GetTimestamp(id);

DateTimeHelper

// 获取当前时间戳(秒)
long timestamp = DateTimeHelper.GetTimestamp();

// 时间戳转DateTime
DateTime date = DateTimeHelper.FromTimestamp(1620000000);

// 格式化日期
string formatted = DateTimeHelper.Format(DateTime.Now, "yyyy-MM-dd HH:mm:ss");

// 时区转换
DateTime utcTime = DateTimeHelper.ConvertToUtc(DateTime.Now);
DateTime localTime = DateTimeHelper.ConvertToLocal(utcTime);

// 判断是否是工作日
bool isWorkDay = DateTimeHelper.IsWorkDay(DateTime.Now);

命名空间

using Healnet.Common.Helpers;
using Healnet.Common.Extensions;

依赖包

包名 版本
System.Text.Json 8.0.0
System.Security.Cryptography.Xml 8.0.0

许可证

MIT License

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Healnet.Common:

Package Downloads
Healnet.Infrastructure

Healnet.Infrastructure 是 Healnet 框架的基础设施层类库,提供各种基础设施服务的封装和集成,包括 Consul 服务发现、Redis 缓存、RabbitMQ 消息队列、gRPC、Elasticsearch、Milvus 向量数据库、SQLSugar ORM、JWT 认证、YARP 反向代理、OpenTelemetry 可观测性、Serilog 日志框架、ClickHouse 列式数据库等。

Healnet.Core

Healnet.Core 是 Healnet 框架的核心业务层类库,提供领域层的基础接口和通用服务。包含仓储接口、工作单元、消息队列接口和统一异常处理。

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.1.0 40 7/24/2026
3.0.1 70 7/23/2026
3.0.0 94 7/16/2026
2.0.7 112 7/10/2026
2.0.5 114 7/8/2026
2.0.3 118 6/30/2026
2.0.1 104 6/30/2026
2.0.0 116 6/29/2026
1.7.3 114 6/29/2026
1.5.0 145 6/16/2026
1.4.0 116 6/15/2026
1.2.0 121 5/29/2026
1.1.1 119 5/25/2026
1.1.0 120 5/22/2026
1.0.9 123 5/20/2026
1.0.8 118 5/20/2026
1.0.7 113 5/20/2026
1.0.6 142 5/19/2026
1.0.5 162 5/13/2026
1.0.4 125 5/13/2026
Loading failed

Initial release of Healnet.Common