private void SaveKeys() { string aux; string dir = Path.GetTempFileName(); StringBuilder namesList = new StringBuilder(); KeyBinario serializadorKeys = new KeyBinario(); ElementoBinario stringSerialitzer = ElementoBinario.GetSerializador <string>(); aux = Path.Combine(dir, MASTERKEYFILE); serializadorKeys.GetBytes(MasterKey).Save(aux);//como aun no tiene asignada la MasterKey puedo usar este serializador File.Encrypt(aux); stringSerialitzer.Key = MasterKey; serializadorKeys.Key = MasterKey; Directory.CreateDirectory(dir); foreach (var item in DicKeys) { aux = Path.GetTempFileName(); namesList.AppendLine($"{item.Key.EscaparCaracteresXML()}{CARACTERSPLIT}{aux.EscaparCaracteresXML()}"); aux = Path.Combine(dir, aux + EXTENSIONKEY); serializadorKeys.GetBytes(item.Value).Save(aux); } aux = Path.Combine(dir, IDSLIST); File.WriteAllBytes(aux, stringSerialitzer.GetBytes(namesList.ToString())); if (Directory.Exists(FOLDER)) { Directory.Delete(FOLDER); } Directory.Move(dir, FOLDER); }
static bool TestClases <T>(GetElement <T> getElement) { T clase = getElement(); ElementoBinario serializador = ElementoBinario.GetSerializador <T>(); byte[] data = serializador.GetBytes(clase); T claseDeserializada = (T)serializador.GetObject(data); return(Equals(clase, claseDeserializada)); }
public void KeyValuePairTiposAnidados() { KeyValuePair <IdUnico, KeyValuePair <long, string> > pair = new KeyValuePair <IdUnico, KeyValuePair <long, string> >(new IdUnico(), new KeyValuePair <long, string>(125, "Gabriel")); ElementoBinario serializador = ElementoBinario.GetSerializador(pair.GetType()); byte[] data = serializador.GetBytes(pair); KeyValuePair <IdUnico, KeyValuePair <long, string> > pairDeserializada = (KeyValuePair <IdUnico, KeyValuePair <long, string> >)serializador.GetObject(data); Assert.IsTrue(pair.Key.GetId().ArrayEqual(pairDeserializada.Key.GetId()) && pair.Value.Key.Equals(pairDeserializada.Value.Key) && pair.Value.Value.Equals(pairDeserializada.Value.Value)); }
public void KeyValuePairTiposMios() { KeyValuePair <IdUnico, byte[]> pair = new KeyValuePair <IdUnico, byte[]>(new IdUnico(), Serializar.GetBytes("Gabriel")); ElementoBinario serializador = ElementoBinario.GetSerializador(pair.GetType()); byte[] data = serializador.GetBytes(pair); KeyValuePair <IdUnico, byte[]> pairDeserializada = (KeyValuePair <IdUnico, byte[]>)serializador.GetObject(data); Assert.IsTrue(pair.Key.GetId().ArrayEqual(pairDeserializada.Key.GetId()) && pair.Value.ArrayEqual(pairDeserializada.Value)); }
public void KeyValuePairTiposBasicos() { KeyValuePair <long, string> pair = new KeyValuePair <long, string>(125, "Gabriel"); ElementoBinario serializador = ElementoBinario.GetSerializador(pair.GetType()); byte[] data = serializador.GetBytes(pair); KeyValuePair <long, string> pairDeserializada = (KeyValuePair <long, string>)serializador.GetObject(data); Assert.IsTrue(pair.Key.Equals(pairDeserializada.Key) && pair.Value.Equals(pairDeserializada.Value)); }
public void KeyValuePairTiposAnidados() { TwoKeys <IdUnico, TwoKeys <long, string> > pair = new TwoKeys <IdUnico, TwoKeys <long, string> >(new IdUnico(), new TwoKeys <long, string>(125, "Gabriel")); ElementoBinario serializador = ElementoBinario.GetSerializador(pair.GetType()); byte[] data = serializador.GetBytes(pair); TwoKeys <IdUnico, TwoKeys <long, string> > pairDeserializada = (TwoKeys <IdUnico, TwoKeys <long, string> >)serializador.GetObject(data); Assert.IsTrue(pair.Key1.GetId().ArrayEqual(pairDeserializada.Key1.GetId()) && pair.Key2.Key1.Equals(pairDeserializada.Key2.Key1) && pair.Key2.Key2.Equals(pairDeserializada.Key2.Key2)); }
public void TwoKeysTiposMios() { TwoKeys <IdUnico, byte[]> pair = new TwoKeys <IdUnico, byte[]>(new IdUnico(), Serializar.GetBytes("Gabriel")); ElementoBinario serializador = ElementoBinario.GetSerializador(pair.GetType()); byte[] data = serializador.GetBytes(pair); TwoKeys <IdUnico, byte[]> pairDeserializada = (TwoKeys <IdUnico, byte[]>)serializador.GetObject(data); Assert.IsTrue(pair.Key1.GetId().ArrayEqual(pairDeserializada.Key1.GetId()) && pair.Key2.ArrayEqual(pairDeserializada.Key2)); }
public void TwoKeysTiposBasicos() { TwoKeys <long, string> pair = new TwoKeys <long, string>(125, "Gabriel"); ElementoBinario serializador = ElementoBinario.GetSerializador(pair.GetType()); byte[] data = serializador.GetBytes(pair); TwoKeys <long, string> pairDeserializada = (TwoKeys <long, string>)serializador.GetObject(data); Assert.IsTrue(pair.Key1.Equals(pairDeserializada.Key1) && pair.Key2.Equals(pairDeserializada.Key2)); }
public void IListMio() { const int ELEMENTS = 10; byte[] data; List <IdUnico> lstDeserializada; List <IdUnico> lst = new List <IdUnico>(); ElementoBinario serializador = ElementoBinario.GetSerializador(lst.GetType()); for (int i = 0; i < ELEMENTS; i++) { lst.Add(new IdUnico()); } data = serializador.GetBytes(lst); lstDeserializada = (List <IdUnico>)serializador.GetObject(data); Assert.IsTrue(lst.AreEquals(lstDeserializada)); }
public void IListBasic() { const int ELEMENTS = 10; byte[] data; List <long> lstDeserializada; List <long> lst = new List <long>(); ElementoBinario serializador = ElementoBinario.GetSerializador(lst.GetType()); for (int i = 0; i < ELEMENTS; i++) { lst.Add(DateTime.Now.Ticks); } data = serializador.GetBytes(lst); lstDeserializada = (List <long>)serializador.GetObject(data); Assert.IsTrue(lst.AreEquals(lstDeserializada)); }
public void IListMioAnidada() { const int ELEMENTS = 10; byte[] data; List <IdUnico> aux; List <List <IdUnico> > lstDeserializada; List <List <IdUnico> > lst = new List <List <IdUnico> >(); ElementoBinario serializador = ElementoBinario.GetSerializador(lst.GetType()); for (int i = 0; i < ELEMENTS; i++) { aux = new List <IdUnico>(); for (int j = 0; j < ELEMENTS; j++) { aux.Add(new IdUnico()); } lst.Add(aux); } data = serializador.GetBytes(lst); lstDeserializada = (List <List <IdUnico> >)serializador.GetObject(data); Assert.IsTrue(Equals(lst, lstDeserializada)); }
public byte[] GetBytes() => Serializador.GetBytes(this);
public string SaveStringBase64() { byte[] data = Serializador.GetBytes(this); return(Convert.ToBase64String(data)); }