Member 13777104 Ответов: 1

Шифрование и дешифрование файлов с помощью filestream и алгоритма AES C#


Я написал ниже код для шифрования и дешифрования, но я не получаю никаких выходных данных pl suggest

Что я уже пробовал:

namespace File_Encryption
{
	class AES
	{
		public static void Main(String[] args)
		{
		  }
		private void EncryptFile(string inputFile, string outputFile)
		{
		    try
		    {
		        string password = @"myKey123"; // Your Key Here
		        UnicodeEncoding UE = new UnicodeEncoding();
		        byte[] key = UE.GetBytes(password);		
		        string cryptFile = outputFile;
		        FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);		
		        RijndaelManaged RMCrypto = new RijndaelManaged();		
		        CryptoStream cs = new CryptoStream(fsCrypt,RMCrypto.CreateEncryptor(key,key),CryptoStreamMode.Write);	
		        FileStream fsIn = new FileStream(inputFile, FileMode.Open);		
		        int data;
		        while ((data = fsIn.ReadByte()) != -1)
		        cs.WriteByte((byte)data);	
		        fsIn.Close();
		        cs.Close();
		        fsCrypt.Close();
		    }
		    catch(Exception E)
		    {		       
		    }
		}
		///<summary>
		/// Steve Lydford - 12/05/2008.
		///
		/// Decrypts a file using Rijndael algorithm.
		///</summary>
		///<param name="inputFile"></param>
		///<param name="outputFile"></param>
		private void DecryptFile(string inputFile, string outputFile)
		{		
		    {
		        string password = @"myKey123"; // Your Key Here		
		        UnicodeEncoding UE = new UnicodeEncoding();
		        byte[] key = UE.GetBytes(password);		
		        FileStream fsCrypt = new FileStream(inputFile, FileMode.Open);		
		        RijndaelManaged RMCrypto = new RijndaelManaged();		
		        CryptoStream cs = new CryptoStream(fsCrypt,RMCrypto.CreateDecryptor(key, key),CryptoStreamMode.Read);		            		
		        FileStream fsOut = new FileStream(outputFile, FileMode.Create);		
		        int data;
		        while ((data = cs.ReadByte()) != -1)
		        fsOut.WriteByte((byte)data);		
		        fsOut.Close();
		        cs.Close();
		        fsCrypt.Close();
		    }
	   }
    }
}

F-ES Sitecore

Удалите блок catch и снова запустите код

Member 13777104

Я удалил блоки try catch, но все еще не могу получить вывод командной строки

1 Ответов

Рейтинг:
0

Richard MacCutchan

public static void Main(String[] args)
{
  }

Ваш Main метод пуст, поэтому ваша программа ничего не делает (точно так, как вы ее закодировали).


Member 13777104

ДА, Я ПРОВЕРИЛ ЭТО СВОЕЙ ОТЛАДКОЙ КОДА , Я НЕ ПОНИМАЮ, ЧТО ДЕЛАТЬ ТАМ, ГДЕ МНЕ НУЖНО ИЗМЕНИТЬ В ВЫШЕСКАЗАННОМ, НЕ МОГЛИ БЫ ВЫ ПОМОЧЬ,СПАСИБО

Richard MacCutchan

Вам нужно вызвать методы шифрования и дешифрования с соответствующими параметрами, как вы их определили.