3DES дешифрация данных

250
20 мая 2017, 16:16

Использую пример отсюда 3DES. Немного переделал, и не могу понять в чем ошибка. Данные шифрует, но не хочет дешифрировать(данные берутся из файла).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Security.Cryptography;

namespace _1._3_3DESC
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                try
                {
                    // Create a new TripleDESCryptoServiceProvider object
                    // to generate a key and initialization vector (IV).
                    TripleDESCryptoServiceProvider tDESalg = new TripleDESCryptoServiceProvider();

                    int n;
                    Console.WriteLine("1. Зашифровать файл: ");
                    Console.WriteLine("2. Дешифвровать файл: ");
                    Console.WriteLine("3  Выход: ");
                    n = int.Parse(Console.ReadLine());
                    switch (n)
                    {
                        case 1:
                            //Шифрование
                            EncryptTextToFile(tDESalg.Key, tDESalg.IV);
                            break;
                        case 2:
                            //Дешифрование
                            string Final = DecryptTextFromFile(tDESalg.Key, tDESalg.IV);
                            Console.WriteLine(Final);
                            break;
                        case 3:
                            Environment.Exit(0);
                            break;
                        default:
                            Console.WriteLine("Не правильный ввод");
                            break;
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
        }

        public static void EncryptTextToFile(byte[] Key, byte[] IV)
        {
            try
            {
                Console.WriteLine("Введите имя файла");
                String FileName;
                String Data;
                FileName = Console.ReadLine();

                Console.WriteLine("Введите текст для шифрования ");
                Data = Console.ReadLine();

                // Create or open the specified file.
                FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);
                // Create a CryptoStream using the FileStream 
                // and the passed key and initialization vector (IV).
                CryptoStream cStream = new CryptoStream(fStream,
                    new TripleDESCryptoServiceProvider().CreateEncryptor(Key, IV),
                    CryptoStreamMode.Write);
                // Create a StreamWriter using the CryptoStream.
                StreamWriter sWriter = new StreamWriter(cStream);
                // Write the data to the stream 
                // to encrypt it.
                sWriter.WriteLine(Data);
                // Close the streams and
                // close the file.
                sWriter.Close();
                cStream.Close();
                fStream.Close();
            }
            catch (CryptographicException e)
            {
                Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
            }
            catch (UnauthorizedAccessException e)
            {
                Console.WriteLine("A file access error occurred: {0}", e.Message);
            }
        }
        public static string DecryptTextFromFile(byte[] Key, byte[] IV)
        {
            try
            {
                Console.WriteLine("Введите имя файла");
                String FileName;
                FileName = Console.ReadLine();
                // Create or open the specified file. 
                FileStream fStream = File.Open(FileName, FileMode.OpenOrCreate);
                // Create a CryptoStream using the FileStream 
                // and the passed key and initialization vector (IV).
                CryptoStream cStream = new CryptoStream(fStream,
                    new TripleDESCryptoServiceProvider().CreateDecryptor(Key, IV),
                    CryptoStreamMode.Read);
                // Create a StreamReader using the CryptoStream.
                StreamReader sReader = new StreamReader(cStream);
                // Read the data from the stream 
                // to decrypt it.
                string val = sReader.ReadLine();
                // Close the streams and
                // close the file.
                sReader.Close();
                cStream.Close();
                fStream.Close();
                // Return the string. 
                return val;
            }
            catch (CryptographicException e)
            {
                Console.WriteLine("A Cryptographic error occurred: {0}", e.Message);
                return null;
            }
            catch (UnauthorizedAccessException e)
            {
                Console.WriteLine("A file access error occurred: {0}", e.Message);
                return null;
            }
        }
    }

}

Появляется ошибка

Вызвано исключение: "System.Security.Cryptography.CryptographicException" в mscorlib.dll
READ ALSO
Запись файла с содержимым кодом php [PHP]

Запись файла с содержимым кодом php [PHP]

Здравствуйте, при попытке записать PHP код в файл через file_put_contentsНичего не происходит, спит 3 минуты и пишет TIME OUT

275
Отложенная загрузка в Yii2

Отложенная загрузка в Yii2

Разбираюсь с этим фреймворкомНе могу понять как правильно сделать отложенную загрузку

247
не работает Yii::app()

не работает Yii::app()

Всем привет, у меня в файле site/config/paramsphp

319