GameFrameX.Foundation.Encryption 1.0.4

dotnet add package GameFrameX.Foundation.Encryption --version 1.0.4                
NuGet\Install-Package GameFrameX.Foundation.Encryption -Version 1.0.4                
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="GameFrameX.Foundation.Encryption" Version="1.0.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GameFrameX.Foundation.Encryption --version 1.0.4                
#r "nuget: GameFrameX.Foundation.Encryption, 1.0.4"                
#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.
// Install GameFrameX.Foundation.Encryption as a Cake Addin
#addin nuget:?package=GameFrameX.Foundation.Encryption&version=1.0.4

// Install GameFrameX.Foundation.Encryption as a Cake Tool
#tool nuget:?package=GameFrameX.Foundation.Encryption&version=1.0.4                

GameFrameX.Foundation

GameFrameX 的基建库, 提供了一些基础的扩展方法和工具类.

HTTP 消息结构标准化组件 (GameFrameX.Foundation.Http.Normalization)

该组件提供了 HTTP 消息结构标准化的功能, 让消息的格式更加统一.

服务器返回的消息包含 codemessagedata, 但是客户端需要统一的返回格式, 需要进行格式化.所以这个组件提供了格式化的功能. 适用于GameFrameX 的整个生态标准

加密工具库 (GameFrameX.Foundation.Encryption)

该库提供了多种加密算法的实现,包括:

AES 加密 (AesHelper)

提供 AES 对称加密算法的实现:

  • 支持字符串和字节数组的加密/解密
  • 使用 Rijndael 算法作为 AES 标准的实现
  • 提供高安全级别的加密方案

RSA 加密 (RsaHelper)

提供 RSA 非对称加密算法的实现:

  • 支持密钥对生成
  • 支持公钥加密/私钥解密
  • 支持数字签名和验证
  • 支持字符串和字节数组操作

DSA 签名 (DsaHelper)

提供 DSA 数字签名算法的实现:

  • 支持密钥对生成
  • 支持数字签名和验证
  • 支持字符串和字节数组操作

SM2/SM4 加密 (Sm2Helper/Sm4Helper)

提供国密 SM2/SM4 算法的实现:

  • SM2: 非对称加密算法
    • 支持密钥对生成
    • 支持加密/解密操作
  • SM4: 对称加密算法
    • 支持 ECB/CBC 加密模式
    • 支持 JavaScript 兼容模式
    • 支持十六进制密钥

XOR 加密 (XorHelper)

提供异或加密算法的实现:

  • 支持快速加密模式(仅加密前220字节)
  • 支持完整加密模式
  • 支持指定范围加密
  • 内存优化设计,支持原地加密

使用示例

// AES 加密示例
string encrypted = AesHelper.Encrypt("Hello World", "your-key");
string decrypted = AesHelper.Decrypt(encrypted, "your-key");
// RSA 加密示例
var keys = RsaHelper.Make();
string encrypted = RsaHelper.Encrypt(keys["publicKey"], "Hello World");
string decrypted = RsaHelper.Decrypt(keys["privateKey"], encrypted);
// SM4 加密示例
string encrypted = Sm4Helper.EncryptCbc("your-key", "Hello World");
string decrypted = Sm4Helper.DecryptCbc("your-key", encrypted);

哈希工具库 (GameFrameX.Foundation.Hash)

该库提供了多种哈希算法的实现,包括:

MD5 哈希 (Md5Helper)

  • 提供字符串、流、文件和字节数组的MD5哈希计算
  • 支持加盐哈希
  • 支持哈希值验证
  • 注:MD5已不再被认为是加密安全的,建议在安全要求较高的场景使用SHA-256或更高强度的算法

SHA 系列哈希

  • SHA-1 (Sha1Helper): 生成160位(20字节)哈希值
  • SHA-256 (Sha256Helper): 生成256位(32字节)哈希值
  • SHA-512 (Sha512Helper): 生成512位(64字节)哈希值
  • 支持字符串、字节数组和文件的哈希计算与验证
  • 支持自定义编码

HMAC-SHA256 (HmacSha256Helper)

  • 基于密钥的哈希消息认证码
  • 结合SHA-256哈希函数和密钥
  • 返回Base64编码的哈希值

CRC 校验 (CrcHelper)

  • CRC32: 32位循环冗余校验
  • CRC64: 64位循环冗余校验,基于ECMA-182标准
  • 支持流式处理
  • 支持字节数组和文件处理

MurmurHash3 (MurmurHash3Helper)

  • 非加密型高性能哈希算法
  • 32位版本实现
  • 支持自定义种子值
  • 适用于哈希表等场景

xxHash (XxHashHelper)

  • 提供32位、64位和128位哈希值计算
  • 高性能非加密型哈希算法
  • 支持字符串、字节数组和类型哈希
  • 适用于需要快速哈希计算的场景

使用示例

// MD5哈希示例
string md5Hash = Md5Helper.Hash("Hello World");
string saltedHash = Md5Helper.HashWithSalt("Hello World", "salt");
// SHA-256哈希示例
string sha256Hash = Sha256Helper.ComputeHash("Hello World");
// HMAC-SHA256示例
string hmacHash = HmacSha256Helper.Hash("message", "key");
// CRC32校验示例
int crc32 = CrcHelper.GetCrc32("Hello World"u8.ToArray());
// MurmurHash3示例
uint murmurHash = MurmurHash3Helper.Hash("Hello World");
// xxHash示例
ulong xxHash = XxHashHelper.Hash64("Hello World");
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.4 65 1/22/2025
1.0.3 67 1/17/2025
1.0.2 64 1/16/2025
1.0.1 71 1/16/2025