A C# library for encryption and decryption.
The Encryption library provides a set of methods for encrypting and decrypting data using the Advanced Encryption Standard (AES) algorithm, and other algorithm. It is designed to be easy to use and can be integrated into C# applications that require secure data transmission or storage.
To use the SafeCrypt library in your C# project, follow these steps:
-
Clone the repository:
git clone https://github.com/selfmadecode/SafeCrypt cd SafeCrypt -
Build the project:
dotnet build
Now, you can reference the SafeCrypt library in your C# project.
To use the library in your C# application, instantiate the AesEncryption or AesDecryption class and call the provided methods. Here's a simple example:
using SafeCrypt.AESDecryption;
using SafeCrypt.AESEncryption;
using SafeCrypt.Models;
class Program
{
static async Task Main()
{
var aesEncryptor = new AesEncryption();
var encryptedData = await aesEncryptor.EncryptToBase64StringAsync("Hello, World!", "gdjdtsraewsuteastwerse=="
Console.WriteLine($"Encrypted Data: {encryptedData.EncryptedData}");
Console.WriteLine($"Initialization Vector: {encryptedData.Iv}");
var aesDecryptor = new AesDecryption();
var parameterToDecrypt = new DecryptionParameters
{
DataToDecrypt = encryptedData.EncryptedData,
SecretKey = encryptedData.SecretKey,
IV = encryptedData.IV
};
var data = await aesDecryptor.DecryptFromBase64StringAsync(parameterToDecrypt)
Console.WriteLine($"Decrypted Data: {data.DecryptedData}");
Console.WriteLine($"Initialization Vector: {data.Iv}");
}
}
-------------------------------------------------------------------------------------------------------
using SafeCrypt.AESDecryption;
using SafeCrypt.AESEncryption;
using SafeCrypt.Models;
class Program
{
static async Task Main()
{
var dataToEncrypt = "Data to Encrypt";
var iv = "gyrthusdgythisdg";
var secret = "hghjuytsdfraestwsgtere==";
var encryptionParam = new EncryptionParameters
{
DataToEncrypt = dataToEncrypt,
IV = iv,
SecretKey = secret
};
var encryptor = new AesEncryption();
var response = await encryptor.EncryptToBase64StringAsync(encryptionParam.DataToEncrypt, secret);
Console.WriteLine(response.EncryptedData);
Console.WriteLine(response.Iv);
Console.WriteLine(response.SecretKey);
var decryptorParam = new DecryptionParameters
{
IV = response.Iv,
SecretKey = secret,
DataToDecrypt = response.EncryptedData
};
var decryptor = new AesDecryption();
var decryptionData = await decryptor.DecryptFromBase64StringAsync(decryptorParam);
Console.WriteLine(decryptionData.DecryptedData);
Console.WriteLine(decryptionData.Iv);
Console.WriteLine(decryptionData.SecretKey);
}
}If you would like to contribute to the development of the SafeCrypt library, follow these steps:
-
Create an issue to discuss the proposed changes or bug fixes.
-
Fork the repository and create a new branch for your work:
git checkout -b feature/my-feature
-
Make your changes and commit them with clear and concise messages.
-
Push your changes to your fork.
-
Create a pull request from your branch to the main repository.
-
Ensure that your pull request follows the contribution guidelines and includes necessary tests.
This project is licensed under the MIT License - see the LICENSE file for details.