using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Data;
using System;
namespace Sarand.BusinessMgr.Net.Standard.Base.Data
{
//=======================================================================
public static class SbmWindowsServiceCrypter
{
//-------------------------------------------------------------------
// Data members.
///
/// Encryption is shared between Windows Service app and mobile
///
private static readonly String requestDataKey = "~{BusinessMgr}#[WindowsService]&/DataCryption/*|RequestData|";
private static readonly String responseDataKey = "{Sarand}+(BusinessMgr)%\\WindowsService/=@:Response:";
//-------------------------------------------------------------------
// R e q u e s t D a t a
//-------------------------------------------------------------------
/// Encrypt request data
public static String EncryptRequestData(String value)
{
try
{
return SacsAesIvCrypter.Encrypt(value, requestDataKey);
}
catch (Exception exc) { SaLogger.Debug("EncryptRequestData " + exc.GetType().Name + ": " + exc.Message); }
return value;
}
/// Decrypt request data
public static String DecryptRequestData(String value)
{
try
{
return SacsAesIvCrypter.Decrypt(value, requestDataKey);
}
catch (Exception exc) { SaLogger.Debug("DecryptRequestData " + exc.GetType().Name + ": " + exc.Message); }
return value;
}
//-------------------------------------------------------------------
// R e s p o n s e D a t a
//-------------------------------------------------------------------
/// Encrypt response data
public static String EncryptResponseData(String value)
{
try
{
return SacsAesIvCrypter.Encrypt(value, responseDataKey);
}
catch (Exception exc) { SaLogger.Debug("EncryptResponseData " + exc.GetType().Name + ": " + exc.Message); }
return value;
}
/// Decrypt response data
public static String DecryptResponseData(String value)
{
try
{
return SacsAesIvCrypter.Decrypt(value, responseDataKey);
}
catch (Exception exc) { SaLogger.Debug("DecryptResponseData " + exc.GetType().Name + ": " + exc.Message); }
return value;
}
//-------------------------------------------------------------------
}
//=======================================================================
}