我需要一个包含加密和压缩方法的包。
最好正确地压缩/解压缩和加密/解密大流。
答案 0 :(得分:3)
C#Cryptography包,C#Compression和NuGet NequeoIOCompress
包。
Cryptography软件包包括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
能力。另一个功能是在加密或解密之前更改BlockSize
,CipherMode
,KeySize
和PaddingMode
的功能(AES)。
Blowfish,Twofish和Rijndael等密码学课程只需快速加密和解密方法,您只需传入byte[]
数据并返回byte[]
加密或解密数据。
PGP等密码学课程具有更多功能,包括使用公钥和密钥签名和验证输入数据。
RSA等密码术类能够使用基于文件的x509证书对文件和流进行加密和解密,或者证书位于商店内。
在Compress包中使用GZip,快速示例。
Nequeo.IO.Compression.GZipStream.Decompress(zipStream, unZipStream);
Nequeo.IO.Compression.GZipStream.Compress(unZipStream, zipStream);
压缩和解压缩GZip,ZLib数据非常简单。
在Compress包中使用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二进制文件。