using System.Security.Cryptography;
public static string Encrypt(string plainText)
string secretKey = "$NIV%&04042020Key%";
return Convert.ToBase64String(Program.Encrypt(Encoding.UTF8.GetBytes(plainText), Program.GetRijndaelManaged(secretKey)));
return Program.Encrypt("");
public static string RTPCR_Encrypt(string plainText)
string secretKey = "$RPDT%&08042020Key%";
return Convert.ToBase64String(Program.Encrypt(Encoding.UTF8.GetBytes(plainText), Program.GetRijndaelManaged(secretKey)));
return Program.Encrypt("");
public static string Decrypt(string encryptedText)
string secretKey = "$NIV%&04042020Key%";
return Encoding.UTF8.GetString(Program.Decrypt(Convert.FromBase64String(encryptedText), Program.GetRijndaelManaged(secretKey)));
public static byte[] Encrypt(byte[] plainBytes, RijndaelManaged rijndaelManaged) => rijndaelManaged.CreateEncryptor().TransformFinalBlock(plainBytes, 0, plainBytes.Length);
public static byte[] Decrypt(byte[] encryptedData, RijndaelManaged rijndaelManaged) => rijndaelManaged.CreateDecryptor().TransformFinalBlock(encryptedData, 0, encryptedData.Length);
public static RijndaelManaged GetRijndaelManaged(string secretKey)
byte[] numArray = new byte[16];
byte[] bytes = Encoding.UTF8.GetBytes(secretKey);
Array.Copy((Array) bytes, (Array) numArray, Math.Min(numArray.Length, bytes.Length));
RijndaelManaged rijndaelManaged = new RijndaelManaged();
rijndaelManaged.Mode = CipherMode.CBC;
rijndaelManaged.Padding = PaddingMode.PKCS7;
rijndaelManaged.KeySize = 128;
rijndaelManaged.BlockSize = 128;
rijndaelManaged.Key = numArray;
rijndaelManaged.IV = numArray;
public static string EncodedEncrypt(string text) => HttpUtility.UrlEncode(Encrypt(text));
public static void Main()
Console.WriteLine(EncodedEncrypt("0303200026850"));
Console.WriteLine(EncodedEncrypt("0303200026851"));
Console.WriteLine(EncodedEncrypt("0303200026852"));
Console.WriteLine(EncodedEncrypt("0303200026853"));
Console.WriteLine(EncodedEncrypt("0303200026854"));