C# Cryptography 包、C# Compression 和 NuGet NequeoIOCompress 包。
密码学包包括 AES、RSA、3DES、Blowfish、Twofish、CMS、PGP、EllipticCurve、Rijndael 和其他一些密码学类。它还包括使用内置于ProtectedData 类的.Net 的数据保护类。你可以随意使用这个包。
压缩包包括 Bzip2、Zip、Huffman、Zlib、GZip 和 7zip 压缩的压缩类。您可以随意使用这些软件包。
在 Cryptography 包中使用 AES,一个快速示例。
// Create a new AES cryto.
using (AdvancedAES aes = new AdvancedAES())
{
bool ret = false;
ret = aes.EncryptFile(pathToDecryptedFile, pathToEncryptedFile, Key, IV);
ret = aes.DecryptFile(pathToDecryptedFile, pathToEncryptedFile, Key, IV);
}
上面的代码就像加密和解密文件一样简单,您还可以在Stream、String 和byte[] 中进行加密和解密,它还具有内置的async 功能。另一个功能是能够 (AES) 在加密或解密之前更改 BlockSize、CipherMode、KeySize 和 PaddingMode。
Blowfish、Twofish 和 Rijndael 等密码学类具有快速加密和解密方法,您只需传入 byte[] 数据并返回 byte[] 加密或解密数据。
PGP 等密码学类具有更多功能,包括使用公钥和密钥对输入数据进行签名和验证。
加密类(如 RSA)能够使用基于文件的 x509 证书或如果证书位于存储中,对文件和流进行加密和解密。
在压缩包中使用 GZip,一个快速示例。
Nequeo.IO.Compression.GZipStream.Decompress(zipStream, unZipStream);
Nequeo.IO.Compression.GZipStream.Compress(unZipStream, zipStream);
GZip、ZLib数据的压缩和解压就是这么简单。
使用压缩包中的 7zip,一个快速示例。
Nequeo.IO.Compression.SevenZip.Decompress(zipFilename, unZipDirectorPath);
Nequeo.IO.Compression.SevenZip.Compress(zipFilename, zipDirectorPath);
使用相同的压缩包 (NuGet NequeoIOCompression) 以 BZip2、Zip 和 7Zip 压缩和解压缩数据。
如上所述,这三个 NuGet 包可供您免费使用和分发。请注意,7Zip 压缩依赖于 7zip.dll 进行 x64、x86 处理。如果您安装压缩包,则包含 7zip.dll 二进制文件。