public Licenca ObterLicenca() { var nomeLicenca = NomeDaLicenca(); if (nomeLicenca == null) { return(new Licenca()); } if (_licencas.TryGetValue(nomeLicenca, out Licenca licenca)) { return(licenca); } else { try { var localArquivo = LocalDoArquivo(); if (!File.Exists(localArquivo)) { throw new FileNotFoundException("Erro ao localizar o arquivo: " + localArquivo); } var conteudoArquivo = CriptografiaAES.Descriptografa(_hash, File.ReadAllText(localArquivo)); licenca = JsonSerializer.Deserialize <Licenca>(conteudoArquivo); _licencas.Add(nomeLicenca, licenca); return(licenca); } catch (Exception e) { throw new ExcecaoDeLicenciamento("Erro ao localizar licença.", e); } } }
public void SalvarLicenca(Licenca licenca) { var localArquivo = LocalDoArquivo(); var caminho = Path.GetDirectoryName(localArquivo); if (!Directory.Exists(caminho)) { Directory.CreateDirectory(caminho); } var conteudoArquivo = CriptografiaAES.Criptografa(_hash, JsonSerializer.Serialize(licenca)); File.WriteAllText(localArquivo, conteudoArquivo); }
public Licenca ObterLicencaDoHash(string hash) { return(JsonSerializer.Deserialize <Licenca>(CriptografiaAES.Descriptografa(_hash, hash))); }
public string GerarHashDaLicenca(Licenca licenca) { return(CriptografiaAES.Criptografa(_hash, JsonSerializer.Serialize(licenca))); }