
致力于挖掘功能强大、性能优越、创新前沿且简单易用的 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




