Esempio n. 1
0
        //methods for Encrypt or Decrypt a FILE

        public static void Encrypted(string password, string Path)
        {
            var nameOnFile = "";

            var newEncryption = new SDESMethods(Path.Split('\\')[Path.Split('\\').Length - 1], ref nameOnFile, password);

            using (var file = new FileStream(Path, FileMode.Open))
            {
                using (var text = new BinaryReader(file))
                {
                    var name = Path.Split('\\');
                    name[name.Length - 1] = name[name.Length - 1].Split('.')[0] + ".cif";
                    var salida    = string.Join("\\", name);
                    var eightBits = "";

                    using (var fileToWrite = new FileStream(salida, FileMode.Create))
                    {
                        using (var toWrite = new BinaryWriter(fileToWrite, Encoding.ASCII))
                        {
                            toWrite.Write("::" + nameOnFile + "||");
                            for (int i = 0; i < text.BaseStream.Length; i++)
                            {
                                eightBits = Convert.ToString(text.ReadByte(), 2).PadLeft(8, '0');
                                toWrite.Write(Convert.ToByte(newEncryption.Ciphertext(eightBits), 2));
                            }
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        public static void Decrypted(string password, string Path)
        {
            try
            {
                var OriginalName = "";
                var NameOnFile   = "";
                var eightBits    = "";
                using (var fileForRead = new FileStream(Path, FileMode.Open))
                {
                    using (var text = new BinaryReader(fileForRead))
                    {
                        ReadNames(text, ref OriginalName, ref NameOnFile);
                        var name = Path.Split('\\');
                        name[name.Length - 1] = OriginalName;
                        var salida = string.Join("\\", name);

                        var newDecryption = new SDESMethods(NameOnFile, password);
                        using (var fileForWrite = new FileStream(salida, FileMode.Create))
                        {
                            using (var toWrite = new BinaryWriter(fileForWrite, Encoding.GetEncoding("iso-8859-1")))
                            {
                                text.BaseStream.Seek(NameOnFile.Length + 5, SeekOrigin.Begin);
                                for (int i = NameOnFile.Length + 5; i < text.BaseStream.Length; i++)
                                {
                                    eightBits = Convert.ToString(text.ReadByte(), 2).PadLeft(8, '0');
                                    toWrite.Write(Convert.ToByte(newDecryption.Decrypted(eightBits), 2));
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("No se tienen registros que dicho archivo esta cifrado con SDES");
            }
        }