feat: make interfaces public

This commit is contained in:
Stevan Freeborn
2026-04-02 13:51:43 -05:00
parent a819a5ee25
commit 344d3239b1
2 changed files with 23 additions and 2 deletions
@@ -1,7 +1,21 @@
namespace StevanFreeborn.Extensions.Configuration.Secure.Cryptography;
internal interface ICryptoProvider
/// <summary>
/// Defines the contract for cryptographic operations.
/// </summary>
public interface ICryptoProvider
{
/// <summary>
/// Encrypts the provided plain text.
/// </summary>
/// <param name="plainText">The unencrypted string to be encrypted.</param>
/// <returns>The encrypted cipher text.</returns>
string Encrypt(string plainText);
/// <summary>
/// Decrypts the provided cipher text.
/// </summary>
/// <param name="cipherText">The encrypted string to be decrypted.</param>
/// <returns>The decrypted plain text.</returns>
string Decrypt(string cipherText);
}
@@ -1,6 +1,13 @@
namespace StevanFreeborn.Extensions.Configuration.Secure.Cryptography;
internal interface IEncryptionKeyProvider
/// <summary>
/// Defines a contract for providing encryption keys used to secure configuration data.
/// </summary>
public interface IEncryptionKeyProvider
{
/// <summary>
/// Retrieves the encryption key as a byte array.
/// </summary>
/// <returns>A byte array containing the encryption key.</returns>
byte[] GetKey();
}