в моем веб-приложении i m с использованием AES для шифрования или дешифрования данных. Согласно моему поиску, это один из самых быстрых алгоритмов шифрования, и на самом деле это очень быстро, я думаю.производительность при шифровании и расшифровке
, но иногда мне действительно нужно зашифровать или расшифровать многие строки, и это вызывает проблемы с производительностью.
для этого способа я думал, что могу использовать словарь для хранения зашифрованных и простых версий строки, чтобы во второй раз я мог получить зашифрованную строку из экземпляра словаря. Ниже код - моя реализация словаря.
private static Dictionary<string, string> _veryFastDict;
public static Dictionary<string, string> GetVeryFastDictInstance()
{
return _veryFastDict ?? (_veryFastDict = new Dictionary<string, string>());
}
и код шифрования ниже
public static string VeryFastEncrypt(string text)
{
if (GetVeryFastDictInstance().ContainsKey(text))
{
return GetVeryFastDictInstance()[text];
}
///string encryptedText
/// encryption code
GetVeryFastDictInstance().Add(text,encryptedKey);
return encryptedKey;
}
это хороший подход и есть ли возможная проблема такого подхода?