【问题标题】:PKCS7 encryptor & decryptor in C#C#中的PKCS7加密器和解密器
【发布时间】:2011-10-05 17:34:39
【问题描述】:

我一直在研究 C# 中的加密器 && 解密器。我有两个用于两种不同操作的按钮。我想解密该加密文件。但是,我收到以下错误。

PKCS7 padding is invalid and cant be removed 

代码:

 private void button1_Click(object sender, System.EventArgs e)

 {try {

 if (DialogResult.OK==openFileDialog1.ShowDialog(this))

 {FileStream dosya=new FileStream("deneme.xxx",FileMode.Create);

  RijndaelManaged uygula=new RijndaelManaged();

 CryptoStream yenidosya=new CryptoStream(dosya,uygula.CreateEncryptor(),CryptoStreamMode.Write);

  FileStream tamam=new FileStream(openFileDialog1.FileName,FileMode.Open);

 int uzunluk;

 while((uzunluk=tamam.ReadByte())!=-1)

 {yenidosya.WriteByte((byte)uzunluk);}

 MessageBox.Show("islem tamam");

 tamam.Close();

 yenidosya.Close();

 dosya.Close();

 }

 }

 catch(Exception caught)

 {MessageBox.Show(caught.Message);}

 }

  private void button2_Click(object sender, System.EventArgs e)

 {

 try

 {

 if (DialogResult.OK==openFileDialog2.ShowDialog(this))

 {FileStream dosya=new FileStream(openFileDialog2.FileName,FileMode.Open);

 RijndaelManaged uygula=new RijndaelManaged();

 CryptoStream yenidosya=new CryptoStream(dosya,uygula.CreateDecryptor(),CryptoStreamMode.Read);

 FileStream tamam=new FileStream("denemeeeee.txt",FileMode.Create);

 int uzunluk;

 while((uzunluk=yenidosya.ReadByte())!=-1)

 {tamam.WriteByte((byte)uzunluk);}

 tamam.Close();

 yenidosya.Close();

 dosya.Close();

 MessageBox.Show("islem tamam");

  }

 }

 catch(Exception caught)

 {MessageBox.Show(caught.Message);}

 }

 }

【问题讨论】:

    标签: c#


    【解决方案1】:

    .NET 中对 PKCS#7 的支持有限,不支持流式传输。

    看到这个问题:Decrypting PKCS#7 encrypted data in C#

    【讨论】:

      猜你喜欢
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 2017-10-11
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      相关资源
      最近更新 更多