Beispiel #1
0
        public string[] getDatosLicencia()
        {
            try
            {
                string       directory     = Environment.CurrentDirectory;
                string       directory2    = Directory.GetCurrentDirectory();
                string       install       = new clsBaseLicencia().getRutaInstalacionLicencia();
                StreamReader sr            = new StreamReader(install + "lcl.txt", System.Text.Encoding.Default);
                string       textoPeticion = sr.ReadToEnd();
                sr.Close();

                string[] retorno      = new string[9];
                string   licencia     = new clsBaseLicencia().loadLicence();
                string   lic_base     = new clsBaseLicencia().fx_DecodificarBase64(licencia);
                char[]   split        = new char[] { '[', ']' };
                string   licencia_aes = new clsBaseAES().decodificar(lic_base);
                string[] decodificado = licencia_aes.Split(split, StringSplitOptions.RemoveEmptyEntries);

                string cTiempo        = string.Empty;
                string cCodActivacion = new clsBaseLicencia().fx_DecodificarBase64(decodificado[0].Trim());
                string cCodProducto   = new clsBaseLicencia().fx_DecodificarBase64(decodificado[1].Trim());
                string cNroLicencias  = new clsBaseLicencia().fx_DecodificarBase64(decodificado[2].Trim());
                string cVersion       = new clsBaseLicencia().fx_DecodificarBase64(decodificado[3].Trim());
                string cPeticion      = new clsBaseLicencia().fx_DecodificarBase64(decodificado[4].Trim());
                if (decodificado.Length > 5)
                {
                    cTiempo = new clsBaseLicencia().fx_DecodificarBase64(decodificado[5].Trim());
                }
                string app_tipolicencia = cCodProducto.Substring(9, 2);
                string app_codproyecto  = cCodProducto.Substring(0, 3);
                string cCodModulo       = cCodProducto.Substring(4, 4);
                retorno[0] = cCodActivacion;
                retorno[1] = cCodProducto;
                retorno[2] = cNroLicencias;
                retorno[3] = cVersion;
                retorno[4] = cPeticion;
                retorno[5] = cTiempo;
                retorno[6] = app_tipolicencia;
                retorno[7] = app_codproyecto;
                retorno[8] = cCodModulo;
                if (textoPeticion != cPeticion)
                {
                    clsBaseLog.cs_pxRegistarAdd("gdatl -> Peticion de la licencia diff Peticion Maquina.");
                    retorno = null;
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                clsBaseLog.cs_pxRegistarAdd("gdatl -> " + ex.ToString());
                return(null);
            }
        }
Beispiel #2
0
        public bool activarLicencia(string version, string modulo, string codeMaquina, string codigoActivacion, string licencia)
        {
            bool retorno = false;

            try
            {
                string   lic_base     = fx_DecodificarBase64(licencia);
                char[]   split        = new char[] { '[', ']' };
                string   licencia_aes = new clsBaseAES().decodificar(lic_base);
                string[] decodificado = licencia_aes.Split(split, StringSplitOptions.RemoveEmptyEntries);

                string cTiempo        = string.Empty;
                string cCodActivacion = fx_DecodificarBase64(decodificado[0].Trim());
                string cCodProducto   = fx_DecodificarBase64(decodificado[1].Trim());
                string cNroLicencias  = fx_DecodificarBase64(decodificado[2].Trim());
                string cVersion       = fx_DecodificarBase64(decodificado[3].Trim());
                string cPeticion      = fx_DecodificarBase64(decodificado[4].Trim());
                if (decodificado.Length > 5)
                {
                    cTiempo = fx_DecodificarBase64(decodificado[5].Trim());
                }
                string app_tipolicencia = cCodProducto.Substring(9, 2);
                string app_codproyecto  = cCodProducto.Substring(0, 3);
                string cCodModulo       = cCodProducto.Substring(4, 4);

                if (cCodActivacion.Equals(string.Empty))
                {
                    return(false);
                }
                if (cCodProducto.Equals(string.Empty))
                {
                    return(false);
                }
                if (cVersion.Equals(string.Empty))
                {
                    return(false);
                }
                if (cPeticion.Equals(string.Empty))
                {
                    return(false);
                }
                string xPeticion  = codeMaquina;
                string xVersion   = version;
                string xCodModulo = modulo;

                clsBaseLog.cs_pxRegistarAdd("Globo: " + codigoActivacion + " == " + cCodActivacion + " && " + xCodModulo + "==" + cCodModulo + "&&" + xPeticion + "==" + cPeticion + "&&" + xVersion + "==" + cVersion);

                if (codigoActivacion == cCodActivacion && xCodModulo == cCodModulo && xPeticion == cPeticion && xVersion.Substring(0, 5) == cVersion.Substring(0, 5))
                {
                    if (cTiempo.Equals(string.Empty))
                    {
                        retorno = true;
                    }
                    else
                    {
                        retorno = true;
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                clsBaseLog.cs_pxRegistarAdd("actreglic " + ex.ToString());
            }
            return(retorno);
        }