This commit is contained in:
2023-09-08 07:44:36 +03:00
parent 2106429d0a
commit 6966acaeb3
6 changed files with 229 additions and 90 deletions

View File

@@ -0,0 +1,37 @@
namespace anbs_cp.Interfaces;
/// <summary>
/// Интерфейс шифрования
/// </summary>
public interface IEncryptor
{
/// <summary>
/// Метод для шифрования строки <paramref name="value"/>
/// </summary>
/// <param name="value">Строка, которая должна быть зашифрована</param>
/// <param name="salt">Ключ шифрования</param>
/// <returns>Этот метод возвращает зашифрованную строку <paramref name="value"/></returns>
string Encrypt (string value, string salt);
/// <summary>
/// Метод для дешифрования строки <paramref name="encryptedValue"/>
/// </summary>
/// <param name="encryptedValue">Строка, которая должна быть дешифрована</param>
/// <param name="salt">Ключ шифрования</param>
/// <returns>Этот метод возвращает дешифрованную строку <paramref name="encryptedValue"/></returns>
string Decrypt (string encryptedValue, string salt);
/// <summary>
/// Декодирует зашифрованную строку в HTML-пригодный формат
/// </summary>
/// <param name="text">Зашифрованная строка</param>
/// <returns>Этот метод возвращает дешифрованную строку <paramref name="text"/></returns>
string Base64UrlEncode (string text);
/// <summary>
/// Раскодирует из декодированной строки в HTML-пригодный формат
/// </summary>
/// <param name="text">Декодированная строка</param>
/// <returns>Этот метод возвращает шифрованную строку <paramref name="text"/></returns>
string Base64UrlDecode (string text);
}