Esempio n. 1
0
        public static string[] DecryptHeaders(string data, string pass = "")
        {
            string[] strArray1          = new string[3];
            ushort   passCodeFromString = FileEncrypter.GetPassCodeFromString(pass);

            string[] strArray2 = data.Split(Utils.robustNewlineDelim, StringSplitOptions.RemoveEmptyEntries);
            if (strArray2.Length < 2)
            {
                throw new FormatException("Tried to decrypt an invalid valid DEC ENC file");
            }
            string[] strArray3 = strArray2[0].Split(FileEncrypter.HeaderSplitDelimiters, StringSplitOptions.None);
            if (strArray3.Length < 4)
            {
                throw new FormatException("Tried to decrypt an invalid valid DEC ENC file");
            }
            string str1 = FileEncrypter.Decrypt(strArray3[1], passCodeFromString);
            string str2 = FileEncrypter.Decrypt(strArray3[2], passCodeFromString);
            string str3 = (string)null;

            if (strArray3.Length > 4)
            {
                str3 = FileEncrypter.Decrypt(strArray3[4], passCodeFromString);
            }
            strArray1[0] = str1;
            strArray1[1] = str2;
            strArray1[2] = str3;
            return(strArray1);
        }
Esempio n. 2
0
        public static string[] DecryptString(string data, string pass = "")
        {
            if (string.IsNullOrEmpty(data))
            {
                throw new NullReferenceException("String to decrypt cannot be null or empty");
            }
            string[] strArray1           = new string[6];
            ushort   passCodeFromString1 = FileEncrypter.GetPassCodeFromString(pass);
            ushort   passCodeFromString2 = FileEncrypter.GetPassCodeFromString("");

            string[] strArray2 = data.Split(Utils.robustNewlineDelim, StringSplitOptions.RemoveEmptyEntries);
            if (strArray2.Length < 2)
            {
                throw new FormatException("Tried to decrypt an invalid valid DEC ENC file \"" + data + "\" - not enough elements. Need 2 lines, had " + (object)strArray2.Length);
            }
            string[] strArray3 = strArray2[0].Split(FileEncrypter.HeaderSplitDelimiters, StringSplitOptions.None);
            if (strArray3.Length < 4)
            {
                throw new FormatException("Tried to decrypt an invalid valid DEC ENC file \"" + data + "\" - not enough headers");
            }
            string str1 = FileEncrypter.Decrypt(strArray3[1], passCodeFromString2);
            string str2 = FileEncrypter.Decrypt(strArray3[2], passCodeFromString2);
            string str3 = FileEncrypter.Decrypt(strArray3[3], passCodeFromString1);
            string str4 = (string)null;

            if (strArray3.Length > 4)
            {
                str4 = FileEncrypter.Decrypt(strArray3[4], passCodeFromString2);
            }
            string str5 = (string)null;
            string str6 = "1";

            if (str3 == "ENCODED")
            {
                str5 = FileEncrypter.Decrypt(strArray2[1], passCodeFromString1);
            }
            else
            {
                str6 = "0";
            }
            strArray1[0] = str1;
            strArray1[1] = str2;
            strArray1[2] = str5;
            strArray1[3] = str4;
            strArray1[4] = str6;
            strArray1[5] = str3;
            return(strArray1);
        }
Esempio n. 3
0
        public static string EncryptString(string data, string header, string ipLink, string pass = "", string fileExtension = null)
        {
            if (string.IsNullOrWhiteSpace(data))
            {
                data = "";
            }
            ushort        passCodeFromString1 = FileEncrypter.GetPassCodeFromString(pass);
            ushort        passCodeFromString2 = FileEncrypter.GetPassCodeFromString("");
            StringBuilder stringBuilder       = new StringBuilder();
            string        str = "#DEC_ENC::" + FileEncrypter.Encrypt(header, passCodeFromString2) + "::" + FileEncrypter.Encrypt(ipLink, passCodeFromString2) + "::" + FileEncrypter.Encrypt("ENCODED", passCodeFromString1);

            if (fileExtension != null)
            {
                str = str + "::" + FileEncrypter.Encrypt(fileExtension, passCodeFromString2);
            }
            stringBuilder.Append(str);
            stringBuilder.Append("\r\n");
            stringBuilder.Append(FileEncrypter.Encrypt(data, passCodeFromString1));
            return(stringBuilder.ToString());
        }