.NET Core 常用加密和Hash工具NETCore.Encrypt
前言
在我们日常开发工作中,为了数据安全问题对数据加密、解密是必不可少的。加密方式有很多种如常见的AES,RSA,MD5,SAH1,SAH256,DES等,这时候假如我们有一个封装的对应加密解密工具类可以直接调用,那这样可以节省不少的开发时间。今天推荐一款实用的.NET Core加密解密工具类库:NETCore.Encrypt。
HASH操作
MD5加密
var srcString = "Md5 hash";
var hashed = EncryptProvider.Md5(srcString);
var hashed1 = srcString.Md5();
SHA加密
var srcString = "sha hash";
var hashed = EncryptProvider.Sha1(srcString); //SHA1
var hashed = EncryptProvider.Sha256(srcString); //SHA256
var hashed = EncryptProvider.Sha384(srcString); //SHA384
var hashed = EncryptProvider.Sha512(srcString); //SHA512
Base64加密&解密
var srcString = "base64 string";
var hashed = EncryptProvider.Base64Encrypt(srcString); //default encoding is UTF-8
var hashed = EncryptProvider.Base64Encrypt(srcString,Encoding.ASCII); //Encoding.ASCII
var encryptedStr = "xxxxx";
var strValue = EncryptProvider.Base64Decrypt(encryptedStr); //default encoding is UTF-8
var strValue = EncryptProvider.Base64Decrypt(encryptedStr,Encoding.ASCII); //Encoding.ASCII(需要与加密编码对应)
HMAC散列消息认证码
RSA加密&解密(非对称加密算法
)
// 源码见扩展阅读
// 公钥&私钥
var rsaKey = EncryptProvider.CreateRsaKey();
// 签名&验证
string signStr = EncryptProvider.RSASign("待校验字符串", privateKey);
bool result = EncryptProvider.RSAVerify("待校验字符串", signStr, publicKey);
// 加密&解密
var encrypted = EncryptProvider.RSAEncrypt(publicKey, "明文字符串", RSAEncryptionPadding.Pkcs1);
var decrypted = EncryptProvider.RSADecrypt(privateKey, "加密字符串", RSAEncryptionPadding.Pkcs1);
DES加密&解密(对称加密算法
)
// 源码见扩展阅读
// 加密&解密(string)
var encrypted = EncryptProvider.DESEncrypt("明文字符串", key, iv);
var decrypted = EncryptProvider.DESDecrypt("加密字符串", key, iv);
// 加密&解密(byte[])
var encryptedBytes = EncryptProvider.DESEncrypt("明文字节数组", key, iv);
var decryptedBytes = EncryptProvider.DESDecrypt("加密字节数组", key, iv)
AES加密&解密(对称加密算法
)
AES(高级加密标准)是一种对称加密算法,它于 2001 年被美国国家标准局(NIST)选为取代 DES 的新标准。相比于 DES,AES 具有更高的安全性和更好的性能
。因此,在现代应用中,AES 已经成为最为广泛使用的对称加密算法之一。
虽然 DES 在过去曾经是最常用的对称加密算法之一,但由于其密钥长度较短(56 位),易受到暴力破解攻击,因此已经逐渐被淘汰。而 AES 支持多种密钥长度(128 位、192 位和 256 位),可以提供更高的安全性,因此更适合现代应用的需求。
// 源码见扩展阅读
// 加密&解密(string)
var encrypted = EncryptProvider.AESEncrypt("明文字符串", key, iv);
var decrypted = EncryptProvider.AESDecrypt("加密字符串", key, iv);
// 加密&解密(byte[])
var encryptedBytes = EncryptProvider.AESEncrypt("明文字节数组", key, iv);
var encryptedBytes = EncryptProvider.AESDecrypt("加密字节数组", key, iv);
扩展阅读
一款实用的.NET Core加密解密工具类库(github)
.NET Core 常用加密和Hash工具NETCore.Encrypt
一款实用的.NET Core加密解密工具类库
最后更新于 2023-11-24 11:18:16 并被添加「」标签,已有 783 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭