using System.Security.Cryptography;
public static void Main()
Console.WriteLine(EncryptData("Salutation=MRS|Customer_Name=MISTRY AMEEBEN|Address=B404 5TH FLOOR NIRMAL SHANTI TOWER~SATELLITE~NIRMAL SHANTI TOWER|City=AHMEDABAD|Pin_Code=560066|State=GUJARAT|DOB=1972-08-02|Gender=F|Mobile_Number=6372938695|Nationality=IN|Email_Address=AMEEMISTRY72@GMAIL.COM|Marital_Status=Y|Occupation_Type=N037|PAN_Number=AOIPM1619P|Nominee_Name=|Nominee_DOB=|Relationship_of_Nominee=|Timestamp=8/29/2022 5:01:55 PM|Website_Ref_No=H6Vvj0xDdRr8LZzn|CRM_Lead_Id=487476241|Source_Id=IB|Referral_Code=|utm_source=|utm_medium=|utm_campaign=|Product_Name=Max Life Smart Secure Plus Plan|Partner_Name=MAX LIFE|SP_Code=|LG_SOL_ID=002|Producer_Code=15455043|EBCC_Flag=N|Scheme_Code=CAPMS|CKYC_NO=|Acc_No=915020032162559|Acc_Type=Main|","TL3U2HAQJZ79F8O5X4CNW6S10IEKGPYB"));
static public string DecryptData(string Encryptinput, string SAMPLE_AES_KEY)
string decryptionResult= string.Empty;
byte[] Keybyte = Encoding.UTF8.GetBytes(SAMPLE_AES_KEY);
var hexKey = BitConverter.ToString(Keybyte);
hexKey = hexKey.Replace("-", "");
string SAMPLE_AES_KEY_HEX = hexKey;
byte[] decryptedOutput = encryptDecryptAPI(Encryptinput, false, SAMPLE_AES_KEY_HEX);
decryptionResult = Encoding.UTF8.GetString(decryptedOutput, 0, decryptedOutput.Length);
public static string GenerateSalt(int length)
string alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string small_alphabets = "abcdefghijklmnopqrstuvwxyz";
string numbers = "1234567890";
string characters = numbers + alphabets + small_alphabets + numbers;
string salt = string.Empty;
for (int i = 0; i < length; i++)
string character = string.Empty;
int index = new Random().Next(0, characters.Length);
character = characters.ToCharArray()[index].ToString();
} while (salt.IndexOf(character) != -1);
public static byte[] HexStringToByteArray(string s)
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2)
data[i / 2] = Convert.ToByte(s.Substring(i, 2), 16);
public static byte[] encryptDecryptAPI(string input, bool encrypt, string SAMPLE_AES_KEY_HEX)
string saltinput = GenerateSalt(8) + input + GenerateSalt(8);
inputData = Encoding.UTF8.GetBytes(saltinput);
byte[] keyBytes = HexStringToByteArray(SAMPLE_AES_KEY_HEX);
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
AesManaged tdes = new AesManaged();
byte[] AESIV = new byte[0x10];
tdes.Mode = CipherMode.CBC;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform crypt = tdes.CreateEncryptor();
byte[] cipher = crypt.TransformFinalBlock(inputData, 0, inputData.Length);
inputData = Convert.FromBase64String(input);
byte[] keyBytes = HexStringToByteArray(SAMPLE_AES_KEY_HEX);
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
AesManaged tdes = new AesManaged();
byte[] AESIV = new byte[0x10];
tdes.Mode = CipherMode.CBC;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform decrypt = tdes.CreateDecryptor();
byte[] cipher = decrypt.TransformFinalBlock(inputData, 0, inputData.Length);
static string EncryptData(string input, string SAMPLE_AES_KEY)
string encryptionResultBase64 = string.Empty;
byte[] Keybyte = Encoding.UTF8.GetBytes(SAMPLE_AES_KEY);
var hexKey = BitConverter.ToString(Keybyte);
hexKey = hexKey.Replace("-", "");
string SAMPLE_AES_KEY_HEX = hexKey;
byte[] encryptedOutput = encryptDecryptAPI(input, true, SAMPLE_AES_KEY_HEX);
encryptionResultBase64 = Convert.ToBase64String(encryptedOutput);
byte[] data = Convert.FromBase64String(encryptionResultBase64);
byte[] decryptedOutput = encryptDecryptAPI(encryptionResultBase64, false, SAMPLE_AES_KEY_HEX);
string utfString = Encoding.UTF8.GetString(decryptedOutput, 0, decryptedOutput.Length);
return encryptionResultBase64;
return encryptionResultBase64;