大数跨境
0
0

一款开源实用的 .NET Core 加密解密工具类库

一款开源实用的 .NET Core 加密解密工具类库 DotNet项目宝库
2025-11-24
0
导读:一个功能丰富、易于使用的 .NET Core 加密解密工具类库,提供了多种对称加密、非对称加密、哈希计算和 Base64 编码解码功能。它采用 MIT License 许可证开源免费,支持跨平台使用,

致力于挖掘功能强大、性能优越、创新前沿且简单易用的 C#/.NET 开源框架、项目、类库与工具。助力 .NET 开发者轻松解锁并运用这些实用的宝藏资源,提升开发效率与创新能力!

项目概述

NETCore.Encrypt 是一个功能丰富、易于使用的 .NET Core 加密解密工具类库,提供了多种对称加密、非对称加密、哈希计算和 Base64 编码解码功能。它采用 MIT License 许可证开源免费,支持跨平台使用,并提供了高度可定制的 API 接口。

应用场景

NETCore.Encrypt 是一个针对 .NET Core 平台的加密解密工具类库,适用于需要数据加密、解密、签名、验证以及哈希计算的多种场景,包括但不限于:

  • 数据传输安全:在网络传输过程中对敏感数据进行加密,确保数据在传输过程中的安全性。
  • 数据存储安全:对存储在数据库或文件系统中的敏感数据进行加密,防止数据泄露。
  • 身份验证与授权:通过数字签名和验证机制,确保数据的完整性和来源的真实性。
  • 密码学应用:支持多种哈希算法,适用于密码存储、数据完整性校验等场景。

功能模块

对称加密

  • AES 加密解密:支持 ECB 和 CBC 模式,提供密钥和初始化向量(IV)的生成与管理。
  • DES 加密解密:支持 ECB 和 CBC 模式,提供密钥和初始化向量(IV)的生成与管理。

Create AES Key

var aesKey = EncryptProvider.CreateAesKey();

var key = aesKey.Key;
var iv = aesKey.IV;

AES encrypt

  • AES encrypt without iv (ECB mode)
    var srcString = "aes encrypt";
    var encrypted = EncryptProvider.AESEncrypt(srcString, key);

  • AES encrypt with iv (CBC mode)
    var srcString = "aes encrypt";
    var encrypted = EncryptProvider.AESEncrypt(srcString, key, iv);

  • AES encrypt bytes with iv (CBC mode)
    var srcBytes = new byte[]{xxx};
    var encryptedBytes = EncryptProvider.AESEncrypt(srcBytes, key, iv);

ASE decrypt

  • AES decrypt without iv (ECB mode)
    var encryptedStr = "xxxx";
    var decrypted = EncryptProvider.AESDecrypt(encryptedStr, key);
  • AES decrypt with iv (CBC mode)
    var encryptedStr = "xxxx";
    var decrypted = EncryptProvider.AESDecrypt(encryptedStr, key, iv);
  • AES decrypt bytes with iv (CBC mode)
    var encryptedBytes =  new byte[]{xxx};
    var decryptedBytes = EncryptProvider.AESDecrypt(encryptedBytes, key, iv);

非对称加密

  • RSA 加密解密:支持不同密钥长度(2048, 3072, 4096),提供公钥和私钥的生成与管理。
  • RSA 签名与验证:支持对数据进行数字签名和验证,确保数据的完整性和来源的真实性。
  • PEM 格式转换:支持 RSA 密钥与 PEM 格式之间的相互转换。
  • PKCS#1 和 PKCS#8 格式转换:支持 RSA 密钥与 PKCS#1 和 PKCS#8 格式之间的相互转换。

RSA encrypt

    var publicKey = rsaKey.PublicKey;
    var srcString = "rsa encrypt";

    
    var encrypted = EncryptProvider.RSAEncrypt(publicKey, srcString);

    // On mac/linux at version 2.0.5
    var encrypted = EncryptProvider.RSAEncrypt(publicKey, srcString, RSAEncryptionPadding.Pkcs1);

RSA decrypt

    var privateKey = rsaKey.PrivateKey;
    var encryptedStr = "xxxx";

    var decrypted = EncryptProvider.RSADecrypt(privateKey, encryptedStr);

    // On mac/linux at version 2.0.5
    var decrypted = EncryptProvider.RSADecrypt(privateKey, encryptedStr, RSAEncryptionPadding.Pkcs1);

哈希计算

  • MD5 哈希:计算数据的 MD5 哈希值。
  • SHA 系列哈希:支持 SHA1, SHA256, SHA384, SHA512 等多种哈希算法。
  • HMAC 系列哈希:支持 HMAC-MD5, HMAC-SHA1, HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 等多种带密钥的哈希算法。

MD5

  
  var srcString = "Md5 hash";
  var hashed = EncryptProvider.Md5(srcString);
  
  
  var srcString = "Md5 hash";
  var hashed = EncryptProvider.Md5(srcString, MD5Length.L16);
  

项目地址

https://github.com/myloveCc/NETCore.Encrypt




图片

【声明】内容源于网络
0
0
DotNet项目宝库
致力于挖掘功能强大、性能优越、创新前沿且简单易用的 C#/.NET 开源框架、项目、类库与工具。助力 .NET 开发者轻松解锁并运用这些实用的宝藏资源,提升开发效率与创新能力!
内容 86
粉丝 0
DotNet项目宝库 致力于挖掘功能强大、性能优越、创新前沿且简单易用的 C#/.NET 开源框架、项目、类库与工具。助力 .NET 开发者轻松解锁并运用这些实用的宝藏资源,提升开发效率与创新能力!
总阅读2
粉丝0
内容86