コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static String GenNewKey()
        {
            SymetriCypher <RijndaelManaged> c = new SymetriCypher <RijndaelManaged> ();

            return(c.GeneratetNewK());
        }