コード例 #1
0
        public void PostCompri([FromBody] object Objeto)
        {
            var         a            = JsonConvert.SerializeObject(Objeto);
            ArchivoData Huff         = JsonConvert.DeserializeObject <ArchivoData>(a);
            double      PesoOriginal = 0;

            using (var file = new FileStream(Huff.RutaArchivo, FileMode.OpenOrCreate))
            { PesoOriginal = Convert.ToDouble(file.Length); };
            var vec1             = Huff.RutaArchivo.Split("/");
            var vec2             = vec1[vec1.Length - 1].Split(".");
            var ubica            = Path.GetFullPath("Archivos Comprimidos\\");
            var UbicacionHuffman = "Archivos comprimidos\\" + vec2[0];

            Huffman.Huffman.Instancia.CompresiónHuffman(Huff.RutaArchivo, vec2, ubica, Huff.NuevoNombre);
            var pathArchivoCompri   = Path.GetFullPath("Archivos Comprimidos\\");
            var RutaArchivoCompreso = pathArchivoCompri + Huff.NuevoNombre + ".huff";
            var ArchivoCompreso     = new FileInfo(RutaArchivoCompreso);
            var PesoCompreso        = Convert.ToDouble(ArchivoCompreso.Length);
            var Archivo             = new Archivo();

            Archivo.NombreArchivo   = vec2[0];
            Archivo.Factor          = Math.Round(PesoOriginal / PesoCompreso, 3);
            Archivo.Razon           = Math.Round(PesoCompreso / PesoOriginal, 3);
            Archivo.Porcentaje      = Math.Round(100 * (1 - Convert.ToDouble(Archivo.Razon)), 3);
            Archivo.NuevoNombre     = Huff.NuevoNombre + ".huff";
            Archivo.RutaNuevoNombre = ubica;
            DatosDeArchivos.Add(Archivo.NombreArchivo, Archivo);
        }
コード例 #2
0
        public void PostDescompri([FromBody] object Objeto)
        {
            var         a                       = JsonConvert.SerializeObject(Objeto);
            ArchivoData Huff                    = JsonConvert.DeserializeObject <ArchivoData>(a);
            var         filePath                = Path.GetFullPath("Archivos Comprimidos\\");
            var         pathDescompress         = Path.GetFullPath("Archivos Descomprimidos\\");
            var         vec1                    = Huff.RutaArchivo.Split("/");
            var         vec2                    = vec1[vec1.Length - 1].Split(".");
            var         model                   = filePath + vec1[vec1.Length - 1];
            var         UbicacionDescomprimidos = pathDescompress;

            Huffman.Huffman.Instancia.Descompresion(model, vec2, UbicacionDescomprimidos);
        }
コード例 #3
0
        public string[] Getcesar([FromBody] object Cifrar)
        {
            var         a      = JsonConvert.SerializeObject(Cifrar);
            ArchivoData rsa    = JsonConvert.DeserializeObject <ArchivoData>(a);
            var         text   = "Cipher: RSA";
            RSA         modelo = new RSA();
            Random      azar   = new Random();
            var         p      = azar.Next(1, 100);
            var         primo  = modelo.esPrimoV2(p);

            while (!primo)
            {
                p     = azar.Next(1, 100);
                primo = modelo.esPrimoV2(p);
            }
            var q = azar.Next(1, 100);

            primo = modelo.esPrimoV2(q);
            while (!primo)
            {
                q     = azar.Next(1, 100);
                primo = modelo.esPrimoV2(q);
            }
            var N          = modelo.N(p, q);
            var øN         = modelo.øN(p, q);
            var Euler      = modelo.EncontrarEuler(øN, N);
            var D          = modelo.EncontrarD(Euler, øN);
            var Kpub       = modelo.ReceptorKpub(Euler, N);
            var Kpriv      = modelo.ReceptorKpriv(D, N);
            var vec        = rsa.NombreArchivo.Split(".");
            var nombreArch = vec[0];
            var rutaLlaves = Path.GetFullPath("Llaves\\" + nombreArch + ".Keys");
            var listaAux   = new List <int[]>();

            listaAux.Add(Kpub);
            listaAux.Add(Kpriv);
            modelo.EscribirLLaves(listaAux, rutaLlaves);
            var text2 = "Key: " + Kpub[0].ToString() + "," + Kpub[1].ToString();

            return(new string[] { text, text2 });
        }