chaleastale
asked on
When I dcrypt a file, I have an exception that says "Length of the data to decrypt is invalid"
I am using the .NET encryption classes. I am fine with encryption the files. However, when I try to decrypt, I am havving an exception that says "Length of the data to decrypt is invalid"
Here is my code:
1. Decryption:
private void decrypt_Click(object sender, System.EventArgs e)
{
FileStream stream = new FileStream("C:\\spAddDel.t xt", FileMode.Open,FileAccess.R ead);
DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider() ;
cryptic.Padding = PaddingMode.Zeros;
cryptic.Key = ASCIIEncoding.ASCII.GetByt es("ABCDEF GH");
cryptic.IV = ASCIIEncoding.ASCII.GetByt es("ABCDEF GH");
CryptoStream crStream = new CryptoStream(stream,
cryptic.CreateDecryptor(), CryptoStre amMode.Rea d);
StreamReader reader = new StreamReader(crStream);
string data = reader.ReadToEnd();
reader.Close();
stream.Close();
}
What is wrong with the above code? The following encryption method works fine.
2. Encryption:
private void Button2_Click(object sender, System.EventArgs e)
{
FileStream stream = new FileStream("C:\\root.txt", FileMode.OpenOrCreate,File Access.Wri te);
DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider() ;
cryptic.Key = ASCIIEncoding.ASCII.GetByt es("ABCDEF GH");
cryptic.IV = ASCIIEncoding.ASCII.GetByt es("ABCDEF GH");
CryptoStream crStream = new CryptoStream(stream,
cryptic.CreateEncryptor(), CryptoStre amMode.Wri te);
byte[] data = ASCIIEncoding.ASCII.GetByt es("charli e");
crStream.Write(data,0,data .Length);
crStream.Close();
stream.Close();
}
What am I missing there in the decryption method?
Thanks in advance.
Here is my code:
1. Decryption:
private void decrypt_Click(object sender, System.EventArgs e)
{
FileStream stream = new FileStream("C:\\spAddDel.t
DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider()
cryptic.Padding = PaddingMode.Zeros;
cryptic.Key = ASCIIEncoding.ASCII.GetByt
cryptic.IV = ASCIIEncoding.ASCII.GetByt
CryptoStream crStream = new CryptoStream(stream,
cryptic.CreateDecryptor(),
StreamReader reader = new StreamReader(crStream);
string data = reader.ReadToEnd();
reader.Close();
stream.Close();
}
What is wrong with the above code? The following encryption method works fine.
2. Encryption:
private void Button2_Click(object sender, System.EventArgs e)
{
FileStream stream = new FileStream("C:\\root.txt",
DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider()
cryptic.Key = ASCIIEncoding.ASCII.GetByt
cryptic.IV = ASCIIEncoding.ASCII.GetByt
CryptoStream crStream = new CryptoStream(stream,
cryptic.CreateEncryptor(),
byte[] data = ASCIIEncoding.ASCII.GetByt
crStream.Write(data,0,data
crStream.Close();
stream.Close();
}
What am I missing there in the decryption method?
Thanks in advance.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.