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); } }
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); }