NCryptor is a file encryption and decryption tool for Windows built using C# and WinForms which targets .NET 8 It provides an easy-to-use and straightforward graphical interface for encrypting and decrypting personal files using symmetric encryption algorithms.
- Features
- Building
- Usage
- Build Dependencies
- Runtime Dependencies
- Backwards Compatibility
- Special Notes
- Change Encryption Algorithm
- License
- Securely encrypt and decrypt files using symmetric encryption algorithms.
- Simple and user-friendly interface with real-time logs.
- Supports batch encryption and decryption of multiple files..
- Detailed error logging for troubleshooting.
- Can be easily modified to use any algorithm that derives from
SymmetricAlgorithm
class.
- Clone the repository:
https://github.com/YashojaLakmith/NCryptor.git
. - Build the solution with
dotnet
as an either framework dependent or self-hosted application.
- Launch the NCryptor application.
- Choose between encryption and decryption modes.
- Select one or more files to process.
- Select the directory to save completed files.
- Enter a valid encryption/decryption key.
- A valid key:
- must be between 6 and 14 characters
- may contain alphanumeric charcters as well as !@#$%^&*
- Click the "Start" button to initiate the operation.
- The application requires .NET 8 SDK to be present on the platform for build process.
- The application requires .NET 8 Runtime to be present on the platform if it was built as a framework dependent application.
- It is not guaranteed that the application would be backwards compatible with the previous .NET versions.
- By default, the application uses Advanced Encryption Standard with 256bit key size, CBC mode and PKCS7 padding mode. However, this can be replaced with any algorithm which derives from
SymmetricAlgorithm
of your choice.
Inject any algorithm that derives from SymmetricAlgorithm
class using the AddSymmetricAlgorithm
extension method in the ServiceCollectionExtensions
class.
Example:
public static IServiceCollection AddSymmetricAlgorithm(this IServiceCollection services)
{
return services.AddTransient<SymmetricAlgorithm>(
_ =>
{
var aes = Aes.Create();
aes.KeySize = 256;
aes.Padding = PaddingMode.PKCS7;
aes.Mode = CipherMode.CBC;
return aes;
});
}
NCryptor is open-source software licensed under the MIT License.