A C# implementation of the AESCrypt file format.
This .NET AES Crypt package contains the C# class SharpAESCrypt.SharpAESCrypt, which provides file encryption and decryption using aescrypt file format.
Version 2 of the AES File Format is supported for reading and writing. Versions 0 and 1 are not verified, but there is code to read and write the formats.
The SharpAESCrypt package works with .NET 2.0+, and is tested with:
Windows, Microsoft.Net, 32bit and 64bit Linux, various distrbutions, Mono 2.6+, 32bit and 64bit OSX 10.6+, Mono 2.6+, 32bit and 64bit
Besides a CLI runtime, no further dependencies are required.
The 1.3.3 version is built targeting the .netstandard2.0 profile and works with .Net Framwork 4.6 and .netcoreapp2.0.
Using From the Command Line
SharpAESCrypt.exe e|d password fromPath toPath
Mono, Any platform
mono SharpAESCrypt.exe e|d password fromPath toPath
Operation mode is selected with (e)ncrypt or (d)ecrypt.
Using as a library in a project
Simply add a reference to SharpAESCrypt.dll, and you can use the static methods like this:
SharpAESCrypt.Encrypt("password", "inputfile", "outputfile"); SharpAESCrypt.Decrypt("password", "inputfile", "outputfile"); SharpAESCrypt.Encrypt("password", inputStream, outputStream); SharpAESCrypt.Decrypt("password", inputStream, outputStream);
The syntax is for C# but the DLL works with any supported .NET language.
For more advanced uses, you can create a stream like this:
Stream aesStream = new SharpAESCrypt(password, inputStream, mode);
You can set various properties on the stream. Remember to either call Dispose() or FlushFinalBlock() after using the stream.
See the documentation provided with the library for further details.