/// <summary> /// Busca un cryptographer determinado por medio de su nombre de archivo de encriptacion y tipo de algoritmo simetrico /// </summary> /// <typeparam name="T">Tipo de algoritmo simetrico</typeparam> /// <param name="providerName">Nombre de proveedor de encriptación</param> /// <param name="key">Clave de encriptacion</param> /// <returns>Argoritmo</returns> static SymetriCypher <T> Add <T>(string providerName, string key) where T : SymmetricAlgorithm { if (String.IsNullOrEmpty(providerName)) { providerName = _CypherProviders.DefaultProviderName; } if (string.IsNullOrEmpty(key)) { TechnicalException te = new TechnicalException("La clave de encriptacion no puede ser nula"); te.ErrorId = "4401"; throw te; } SymetriCypher <T> symetriCypher = null; //Busca el SymetriCypher en el diccionario if (CypherProviders.ContainsKey(providerName)) { symetriCypher = (SymetriCypher <T>)CypherProviders[providerName]; } else { symetriCypher = new SymetriCypher <T>(key); CypherProviders.Add(providerName, symetriCypher); } return(symetriCypher); }
/// <summary> /// /// </summary> /// <returns></returns> public static String GenNewKey() { SymetriCypher <RijndaelManaged> c = new SymetriCypher <RijndaelManaged> (); return(c.GeneratetNewK()); }