2013-10-30 35 views
0

我有这个电子邮件程序,用于加密数据(消息的附件和正文)并通过网络发送。删除加密并发送的文件

我有一个encryptcheckbox,当检查和sendbutton是点击,附件是邮件加密并发送给收件人。

我使用didisoft pgp .dll文件来加密和解密算法的参考。

using System.IO; 
using DidiSoft.Pgp; 

class EncryptDemo { 
public void Demo() { 
    // create an instance of the library 
    PGPLib pgp = new PGPLib(); 

    // specify should the output be ASCII or binary 
    bool asciiArmor = false; 
    // should additional integrity information be added 
    // set to false for compatibility with older versions of PGP such as 6.5.8. 
    bool withIntegrityCheck = false; 

    pgp.EncryptFile(@"C:\Test\INPUT.txt", 
        @"C:\Test\public_key.asc", 
        @"C:\Test\OUTPUT.pgp", 
        asciiArmor, 
        withIntegrityCheck); 
} 
} 

的部分@“C:\测试\ OUTPUT.pgp”,它实际上在我的电脑上创建加密文件附件(为什么你想一个加密的文件吗?)。所以,我的意图是让它创建,但在sendbutton被点击后(换句话说,在我的邮件发送后)删除它。

+0

像@jester说,File.Delete将做的工作,但你为什么惊讶它会创建一个文件?那么您希望如何处理输入?我想你可以将它保存到内存或流中,但最简单的方法就是在完成后删除它。 – Noctis

回答

2

您可以使用FileSystem.IO一旦你send动作完成删除:

if(File.Exists(@"C:\Test\OUTPUT.pgp")) 
{ 
    File.Delete(@"C:\Test\OUTPUT.pgp"); 
}