Replace legacy encryption with AES-GCM

This commit is contained in:
Andy Howard
2026-09-16 18:40:32 +01:00
parent 6989c5f9b6
commit a0a5ef970c
13 changed files with 456 additions and 278 deletions
+4 -4
View File
@@ -122,7 +122,7 @@ namespace Sacs.Web.Components
}
//-------------------------------------------------------------------
public static String EncryptParameters(NameValueCollection parameters, String base64IV, String base64Key)
public static String EncryptParameters(NameValueCollection parameters, String base64Key, String purpose)
{
try
{
@@ -137,18 +137,18 @@ namespace Sacs.Web.Components
queryString += String.Join("&", paramKeys.Select(a => a + "=" + HttpUtility.UrlEncode(parametersToEncrypt[a])));
// Encrypt data.
String encrypted = SacsEncryptionHelper.Encrypt(queryString, base64IV, base64Key);
String encrypted = SacsEncryptionHelper.EncryptAuthenticated(queryString, base64Key, purpose);
//if (SacsSystem.DebugMode) SaLogger.Debug(SysUtil.Fn + "\n\tData: " + queryString + " \n\tEncrypted: " + encrypted);
return encrypted;
}
catch (Exception exc) { SaLogger.Warn($"{SysUtil.Fn} {ExceptionUtil.GetErrorStateMessage(exc)}"); }
return "";
}
public static NameValueCollection DecryptParameters(String encrypted, String base64IV, String base64Key)
public static NameValueCollection DecryptParameters(String encrypted, String base64Key, String purpose)
{
try
{
String queryString = SacsEncryptionHelper.Decrypt(encrypted, base64IV, base64Key);
String queryString = SacsEncryptionHelper.DecryptAuthenticated(encrypted, base64Key, purpose);
//if (SacsSystem.DebugMode) SaLogger.Debug(SysUtil.Fn + " \n\tEncrypted: " + encrypted + "\n\tData: " + queryString);
return HttpUtility.ParseQueryString(queryString);
}