Wednesday, May 23, 2012

Generate Random Password for PDF with asp.net

RandomPassword

In the previous article we discussed about Dynamic PDF generation with static password.Now Lets try with some random password that means generate a password at the time of pdf creation to provide more secuirty for the pdf file.


Previous article :



Create Password protected PDF using iTextsharp



First ,Drag one label from toolbox and change properties as


Name =" "(Empty)


Id=lblPassword


Visible=false;


Now, write a method to generate a random password with the combination of string and number



private string setpassword()
{
    StringBuilder SB = new StringBuilder();
    SB.Append(RandomString(3, true));
    SB.Append(RandomNumber(100, 999));    
    return SB.ToString();
}


The following method return a random number


private int RandomNumber(int min, int max)
{
Random random = new Random();
return random.Next(min, max); 
}


The following method return a random string


StringBuilder SB = new StringBuilder();
    Random random = new Random();
    char ch ;
    for(int i=0; i lessthan size; i++)
    {
        ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65))) ;
        SB.Append(ch); 
    }
    if(lowerCase)
    return SB.ToString().ToLower();
    return SB.ToString();
Now write the following method to generate a PDF file


First get the generated password in to label,Write the following code inside the button event


protected void btnCreatePDF_Click(object sender, EventArgs e)
    {
    
        lblPassword.Text=setpassword();
        
    }
   
Following is the complete code to generate pdf file with random password


protected void btnCreatePDF_Click(object sender, EventArgs e)
    {
    
        lblPassword.Text=setpassword();
        
        string path = Server.MapPath("~/");
        string fileName =txtPDFName.Text + ".pdf";
        string MFileName = string.Empty;
        object TargetFile = path + fileName;
       
        iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(TargetFile.ToString());
        MFileName = TargetFile.ToString();
        MFileName = MFileName.Insert(ModifiedFileName.Length - 4, "R2T4");
        
        lblpassword.Text=Setpassword();
        
        iTextSharp.text.pdf.PdfEncryptor.Encrypt(reader, new FileStream(MFileName, FileMode.Append), iTextSharp.text.pdf.PdfWriter.STRENGTH128BITS, lblpassword.Text, "", iTextSharp.text.pdf.PdfWriter.AllowPrinting);
        if (File.Exists(TargetFile.ToString()))
            File.Delete(TargetFile.ToString());         
        
    }
Previous article :




I Hope this will helps somebody..Happy Coding....

Labels: , ,

1 Comments:

At September 5, 2013 at 7:17 AM , Anonymous Anonymous said...

This comment has been removed by a blog administrator.

 

Post a Comment

Subscribe to Post Comments [Atom]

<< Home